code_junkie

How do I programatically force an onchange event on an input?

Nov 11th, 2011
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.63 KB | None | 0 0
  1. var code = ele.getAttribute('onchange');
  2. eval(code);
  3.  
  4. document.getElementById("test").onchange()
  5.  
  6. $("#element").trigger("change");
  7.  
  8. function fireEvent(element,event){
  9. if (document.createEventObject){
  10. // dispatch for IE
  11. var evt = document.createEventObject();
  12. return element.fireEvent('on'+event,evt)
  13. }
  14. else{
  15. // dispatch for firefox + others
  16. var evt = document.createEvent("HTMLEvents");
  17. evt.initEvent(event, true, true ); // event type,bubbling,cancelable
  18. return !element.dispatchEvent(evt);
  19. }
  20. }
  21.  
  22. <input id="test1" name="test1" value="Hello" onchange="alert(this.value);"/>
  23. <input type="button" onclick="document.getElementById('test1').onchange();" value="Say Hello"/>
  24.  
  25. $('#elementId').change(function() { alert('Do Stuff'); });
  26.  
  27. $addHandler($get('elementId'), 'change', function(){ alert('Do Stuff'); });
  28.  
  29. <input type="text" onchange="alert('Do Stuff');" id="myElement" />
  30.  
  31. $addHandler($get('elementId'), 'change', elementChanged);
  32. function elementChanged(){
  33. alert('Do Stuff!');
  34. }
  35. function editElement(){
  36. var el = $get('elementId');
  37. el.value = 'something new';
  38. elementChanged();
  39. }
  40.  
  41. $get('elementId')._events
  42.  
  43. function triggerEvent( elem, type, event ) {
  44. if ( $.browser.mozilla || $.browser.opera ) {
  45. event = document.createEvent("MouseEvents");
  46. event.initMouseEvent(type, true, true, elem.ownerDocument.defaultView,
  47. 0, 0, 0, 0, 0, false, false, false, false, 0, null);
  48. elem.dispatchEvent( event );
  49. } else if ( $.browser.msie ) {
  50. elem.fireEvent("on"+type);
  51. }
  52. }
  53.  
  54. var event;
  55. triggerEvent(ele, "change", event);
Add Comment
Please, Sign In to add comment