js 觸發 change 事件


首先,請各位包涵,我本人對 JS 不是很熟,不知道“觸發change事件”和“觸發onchange事件”哪個更加合適。有園友知道的麻煩指出,先行謝過。

起因是這樣的,工作上需要在瀏覽器頁面上配置一些信息,同時需要配置的有好幾百個。具體是需要在一個 HTML 的input輸入框里面輸入自己需要的文本,然后保存。而這個input框(猜測,因為頁面不是我寫的)是綁定了一個onchange事件的,當其中的內容修改后,這個事件會觸發,然后保存才會生效。而如果直接用 JS 來給這個input框賦值的話,這個onchange事件是不會觸發的。

於是我上網找了好久,有說用trigger("change")來觸發的,但我試了並不行。更無奈的是,網上絕大部分文章都是在說,如果去綁定這個onchange事件,而我要的是觸發,而且問了好幾個技術群里的朋友,幾乎所有人都覺得我是在問如何綁定這個事件,最終寫了個示例演示出來才能給他們說清楚。

今天不得已之下,到 Google 搜索了一下,在 StackOverflow 上找到了方法。原理是要先創建並初始化一個 change 事件,然后再用 dispatchEvent 去觸發。代碼如下:

var event = document.createEvent("HTMLEvents");
event.initEvent("change", true, true);
document.querySelector("#id").dispatchEvent(event);

參考:
https://stackoverflow.com/questions/2490825/how-to-trigger-event-in-javascript
http://www.w3school.com.cn/jsref/event_initevent.asp


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM