jQuery:为什么.change()不会触发事件

时间:2013-02-12 12:41:47

标签: jquery

我正在通过div中的ajax读取一些内容。 内容具有某些脚本标记,用于绑定ajax内容中包含的某些元素上的某些事件。
Ajax内容:

<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();语句中,在绑定后立即触发更改事件不会被调用。

可能是什么问题。?

2 个答案:

答案 0 :(得分:4)

我相信你错过了收盘报价。试试这个:

$('#mySelectBox').change();

答案 1 :(得分:0)

$('#mySelectBox).change();不会触发此事件。

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

.change()实际上是.on('change');

的包装器

更新:

如果委托事件,.trigger()函数将不会冒泡。 解决方法可以在这里找到:

How do I manually trigger a delegated event with jQuery?