2016-05-09 6 views
2

Dies ist kein Duplikat How to trigger jQuery change event in code ist, denn das ist mit der Interaktion von jQuery mit Ereignis-Listener jQuery beschäftigt, während diese Frage, die Interaktion diskutiert jQuery mit native Ereignislistener.Wie auslösen JS nativen sogar addEventListener („change“, Funktion) von JQuery

Ich benutze addEventListener ein Änderungsereignis für einen Eingang zu binden, aber $ ('# input') val ('bbbb') Änderung()..; kann den Alarm nicht auslösen, wie addEventListener auslösen ("change", Funktion) Funktion von JQuery

<!DOCTYPE html> 
<html lang="en"> 

<head> 
    <meta charset="UTF-8"> 
    <title>code</title> 
</head> 

<body> 
    <script src="http://o6flfbzth.bkt.clouddn.com/jquery-1.12.0.min.js"></script> 

    <input id="input" type="text" value="input" /> 
    <script type="text/javascript"> 
     document.getElementById("input").addEventListener("change", function() { 
     alert(this.value); 
    }); 
    </script> 

    <input type="button" value="change input" onclick=" $('#input').val('bbbb').change();" /> 
</body> 

</html> 
+0

Dies ist kein Duplikat –

Antwort

1

Sie können nicht über eine native Ereignis mit jQuery .trigger('change') auslösen. Sie werden zu create a native event benötigen und dispatch it:

var evt = document.createEvent('HTMLEvents'); 
evt.initEvent('change', true, true); 
//   ^  ^ ^
//   |   |  cancelable 
//   |   bubbles 
//   type 

Und dann Feuer:

var el = document.getElementById("input"); 
el.dispatchEvent(evt); 
1

Bind das Änderungsereignis jquery verwenden.

$("#input").change(function() { 
    alert(this.value); 
}); 

Arbeits Schnipsel:

<!DOCTYPE html> 
 
<html lang="en"> 
 

 
<head> 
 
    <meta charset="UTF-8"> 
 
    <title>code</title> 
 
</head> 
 

 
<body> 
 
    <script src="http://o6flfbzth.bkt.clouddn.com/jquery-1.12.0.min.js"></script> 
 

 
    <input id="input" type="text" value="input" /> 
 
    <script type="text/javascript"> 
 
     $("#input").change(function() { 
 
     alert(this.value); 
 
     }); 
 
    </script> 
 

 
    <input type="button" value="change input" onclick=" $('#input').val('bbbb').change();" /> 
 
</body> 
 

 
</html>