2013-02-12 191 views
1

我正在通過ajax將一些內容讀入div。 內容具有特定的腳本標籤,用於綁定ajax內容中包含的某些元素上的某些事件。
Ajax內容:
jQuery:.change()爲什麼不觸發事件

<div> 
    <div> 
     <select id='mySelectBox'> 
      <option value="1">ONE</option> 
      <option value="2" selected="selected">TWO</option> 
     </select> 
    </div> 
    <script type="text/javascript"> 
     $(document).on("change",'#mySelectBox',function(){ 
      alert($('#mySelectBox').val()); 
     }); 
     $('#mySelectBox).change(); //problem here.... 
     </script> 
</div> 

變化事件被結合並且當我改變的'#mySelectBox'值正常工作。 但是在$('#mySelectBox).change();語句中,它在綁定之後立即觸發change事件沒有被調用。

可能是什麼問題。

回答

0

$('#mySelectBox).change();不觸發事件。

$('#mySelectBox).trigger('change');確實。 :)

.change()實際上是.on('change');

UPDATE的包裝:

在委派事件的情況下的.trigger()函數不會冒泡。 一種解決方法可以在這裏找到:

How do I manually trigger a delegated event with jQuery?

+0

試過$('#mySelectBox).trigger('change');不工作。 – 2013-02-12 12:48:01

+0

看到我更新的答案。 – 2013-02-12 12:51:03

+0

'.change()'確實觸發事件。查看jQuery文檔 - http://api.jquery.com/change/#change – 2013-11-25 21:05:12

4

我相信你缺少一個右引號。試試這個:

$('#mySelectBox').change(); 
相關問題