我有一個功能正在改變輸入隱藏標籤的值。我已經註冊了一個監聽這個輸入的監聽器(「更改」事件)。但是由於輸入的值正在以編程方式改變(而不是由用戶干預),所以處理程序從不執行。但是我希望處理器在輸入值改變時執行。是否有任何解決方法來實現這一目標?事件問題
事件問題
回答
element.onchange();
正如我所指出的,onchange()不起作用。只有當我在輸入標籤上刪除type =「hidden」,並且手動在輸入字段上輸入一些值時,處理程序纔會被調用。否則,如果我以編程方式更改值,處理程序永遠不會被調用。 – 2010-12-16 09:51:00
對不起,如果我的帖子不清楚。我的意思是你應該手動調用處理程序,執行'theElement.onchange();'。但是,您可能必須首先更改'this'上下文('this = theElement;')。 – 2010-12-16 13:04:51
你可以簡單地做調用JavaScript中的更改事件:
document.getElementById('id').onchange()
如果你使用jQuery,這是$(element).change()
你在找什麼,是一個Mutation Event。雖然在瀏覽器中對它的支持嚴重不足,但我現在甚至找不到支持列表。如果您僅使用jQuery ,則可以嘗試一些插件,例如this one,但是,如果您調用$ .attr函數,它只會起作用。
另一種選擇是在jQuery中使用custom events,但這比修改該值時直接調用處理程序容易一點。
希望這會有所幫助。
沒有一致的,跨瀏覽器的方式來監視屬性更改。 maksymko是正確的,你正在尋找的是突變事件,但正如他所說,他們沒有得到廣泛的支持。
您最接近的保證是設置您的代碼使用的API /方法,以便對輸入值進行任何更改。這是不完整的和未來脆弱的,但這是你所擁有的。
許多圖書館已經制定了這一下直接調用您的處理程序,當你修改這個值的一些管道,如jQuery或YUI 3
- 1. ontextchanged事件問題
- 2. Hittest事件問題
- 3. onclick事件問題
- 4. Scroller事件問題
- 5. C#事件問題
- 6. js事件問題
- 7. Javascript事件問題
- 8. ONTouch事件問題?
- 9. Mootools事件問題
- 10. WCF的問題或事件hadling問題
- 11. CommandEventArgs和事件問題
- 12. 即時事件問題-jquery
- 13. TextBox事件小問題 - C#
- 14. JavaScript的問題 - onmouseover事件
- 15. Mootools單擊事件問題
- 16. YUI事件實用問題
- 17. 事件計時問題
- 18. JQuery AJAX事件問題
- 19. 移動Safari事件問題
- 20. 與mouseup事件有問題
- 21. 日曆事件問題
- 22. 事件處理問題
- 23. Backbone.js添加事件問題
- 24. 閉環問題(事件)
- 25. 點擊事件的問題?
- 26. Mootools Shift-Tab事件問題
- 27. Asp.net中事件的問題
- 28. 事件目標的問題
- 29. c#事件的問題
- 30. 加載事件問題
Hm..what? – sje397 2010-12-16 10:24:04