1. 程式人生 > >JS改變input的value值不觸發onchange事件解決方案(超簡版)

JS改變input的value值不觸發onchange事件解決方案(超簡版)

監聽js改變input的值觸發的onchange事件

 $("#inpstart").attr("value",$("#inpend")[0].value);

當 我們像上面這樣給一個input賦值時,由於onchange時間對input框不起作用,大家首先會想到使用  oninput事件,

然而oninput是需要使用者手動輸入,先獲取焦點改變了值後失去焦點才觸發,所以沒卵用,

大多數論壇上多是說 onpropertychange 替代 change可以解決,然而相容性不怎麼樣,之後就是自己做一個change什麼的,感覺一個簡單的事情這麼難做

最後吧,咱換個思路,在js給input賦值的時候就給  一個 $("#inpstart").trigger("input"); 

然後再監聽它的input事件 

$("#inpstart").bind("input propertychange",function () {
                    console.log("已經輸入了"+$("#inpstart").val().length+"個字。。。");
                });

當然,我們可以在賦值的時候做判斷,前後值不一樣才trigger。

就先分享這麼多了,謝謝大家的閱讀

相關推薦

JS改變input的value觸發onchange事件解決方案

監聽js改變input的值觸發的onchange事件  $("#inpstart").attr("value",$("#inpend")[0].value); 當 我們像上面這樣給一個input賦值時,由於onchange時間對input框不起作用,大家首先會想到使用  

JS改變input的value觸發onchange事件解決方案

$("#datetxt").on("input propertychange", function () {      alert('變化了'); }); http://blog.csdn.net/zhbitxhd/article/details/12943091

Js改變input觸發監聽事件問題

專案中遇到一個問題:在input上加了一個監聽事件$('#inputId').bind('input propertychange', function() {dosomethig...});但我在使用Js改變這個input的值後,監聽事件並不能觸發原因:    使用Js動態

element-ui 點擊編輯彈出dialog組件中select組件綁定改變,但是觸發change事件

select http inf 視頻 log OS src AR gpo 代碼結構如下: 現象視頻如下: 現象原因:經過排查發現 此時點擊操作不觸發chang事件,後臺響應數據中沒有訂單取消原因orderCanleRemark字段,此時導致不觸發change事件,

input輸入框file型別選擇同樣輸入框第二次觸發onchange事件解決辦法

網上大部分說法是因為選擇一次後onchange事件沒有繫結到input標籤上,解決辦法是拷貝一份input標籤的副本,每次選擇後對原input標籤進行替換.後來發現只需要在選擇一次後將input標籤的value屬性置為空即可,即$('#input').val('

Validator關於js,jq賦觸發驗證解決辦法

問題1: 如下程式碼: <input type="hidden" name="productId"/>$("#addForm").bootstrapValidator({ fields: { productId: {

asp.net 點選伺服器按鈕 觸發後臺事件解決方法

前兩天在做專案的時候在上傳按鈕前,做了其他的操作,發現在點選上傳按鈕沒有觸發後臺的提交事件。點選沒有任何的反應。 真是奇怪。 檢視程式碼也沒有什麼異常。 後來查了查原來是code-behind提交失效!失效的原因我是沒有搞清楚,期望大家多交流。 那我得解決這個問題呀,後

jquery ajax return能取得的解決方案

大家先看一段簡單的jquery ajax 返回值的js 程式碼 function getReturnAjax{  $.ajax({    type:"POST",    url:"ajax/userexist.aspx",    data:"username="+vuser

iphone開熱點電腦總是搜到問題的解決辦法百試百靈

基本 回來 如果 基本上 lan one 密碼 修改 phone iphone開熱點,電腦總是搜不到???   1.確認打開wlan,打開個人熱點後,   2.在iPhone熱點設置密碼那裏,把密碼改少一位,點擊完成   3.然後看電腦搜到沒有,如果有,把密碼改回來,

全網最詳細的再次或多次格式化導致namenode的ClusterID和datanode的ClusterID之間一致的問題解決辦法圖文詳解

rwx log bsp 挖掘 fail tro listener 大數 www.     不多說,直接上幹貨!   java.io.IOException: Incompatible clusterIDs in /opt/modules/ha

關於聯想Thinkpad E450 系列膝上型電腦獨立顯示卡能工作的解決方案藍屏/卡頓/掉幀

        聯想Thinkpad E450因為主機板問題,在執行一段時間的獨立顯示卡後(通常是在玩遊戲呼叫獨顯執行時),會在遊戲中出現突然掉幀的現象,而後退出遊戲在正常的電腦使用過程中也會出現經常藍屏,黑屏等現象,使用GPU軟體直觀的反映為:其核心頻率不論在什麼工作狀態下

針對Unity教程能正常使用的某種情況的解決方案Unity學習記錄①

Unity學習記錄①: 關於教程無法正常執行的問題 可能有的同學在從UnityHub上開官方教程的時候會遇到這種情況: 直接彈出了這種介面而沒有官方教程的親切對話方塊 (我有問過學長,據說是版本問題,GetStarted這套教程是2017版本的,可能在新的版本就會出現這種情況) (而且

ubuntu中提示找到make命令的解決方案command not found

這篇微博轉載自http://blog.csdn.net/fenglibing/article/details/7096556,感謝博主。 第一種方式:利用安裝盤修復 今天遇到一ubuntu,別人剛裝的,我下載了ncftp,準備從其它地方把檔案搬過來,把 ncftp下載

前後端分離跨域sessionid一致Safari瀏覽器解決方案能保持會話或者能儲存cookie

對於前後端分離的專案或者單點登入的系統後臺需要做session會話校驗或者cookie跨域儲存,Safari瀏覽器可能會遇到無法儲存cookie的時候,解決方案如下:PC端Safari瀏覽器需要設定 偏好設定-> Safari -> 阻止Cookie ->

Linux下使用Vi時方向鍵變亂碼、刪除鍵能使用的解決方法親測有效

在Linux下編輯一些檔案,這就涉及到了Vi這個編輯器。在Linux下,初始使用Vi的時候有兩個典型的問題: 1、在編輯模式下使用方向鍵的時候,並不會使游標移動,而是在命令列中出現A、B、C、D四個字母; 2、當編輯出現錯誤,想要刪除時,發現Backspace鍵不起作用,只

bootstrapValidator關於js,jquery動態賦觸發驗證能捕獲“程式賦事件解決辦法

關鍵點一:修改excluded和trigger的配置 $("#department-add-modal-form").bootstrapValidator({ //excluded:[":hidden",":disabled",":not(visible)"] ,//bootstrapVali

onchange監聽input變化及input隱藏後change事件觸發的原因與解決方法(設定readonly後onchange起作用的解決方案)

轉自:https://www.cnblogs.com/white0710/p/7338456.html 1. onchange事件監聽input值變化的使用方法: <input id="test"></input> $("input"

onchange監聽input變化及input隱藏後change事件觸發的原因與解決方法(設置readonly後onchange起作用的解決方案)

com sdn 使用方法 pan val 內容 tar span .html 轉自:https://www.cnblogs.com/white0710/p/7338456.html 1. onchange事件監聽input值變化的使用方法: <input id=

Js獲取select value、索引 onchange事件觸發

<div class="num"> <select id="xuanze" onchange="changeValue();"> <option value="10">10</option> <

js獲取被check的input觸發click事件

$(document).ready(function(){ $("#water_type_1").click(function(){ $("#btn").hide(); $("#btn2")