无法获取绑定事件

时间:2013-07-16 15:35:19

标签: javascript jquery javascript-events

我已将以下代码包含在我的页面标题中:

<script type="text/javascript">

    jQuery('#start_price').mouseleave(function() {
        alert('Hi!');
    });

</script>

我已经通过将鼠标放入带有此ID的文本字段并将其删除,在其外部单击但未触发任何内容来测试它。我检查了错误控制台,没有任何东西,所以看起来它甚至都没有试图解雇它。

http://jsfiddle.net/kRaJy/

我做错了什么?

3 个答案:

答案 0 :(得分:3)

您必须在DOM就绪上执行代码:

$(document).ready(function(){ /* your code */ });

否则,jQuery('#start_price')将不匹配,因为尚未创建该元素。

答案 1 :(得分:3)

在注册事件处理程序时,时间就是一切。您需要等到文档准备就绪:

jQuery(document).ready(function(){
        jQuery('#start_price').mouseleave(function() {
            alert('Hi!');
        });

});

查看更新的小提琴:

http://jsfiddle.net/kRaJy/1/

答案 2 :(得分:0)

您可以使用.on()

jQuery(document).on('mouseleave', '#start_price', function() {
    alert('Hi!');
});

如果将事件绑定到文档,更准确地说是在元素上,则不需要等待DOM准备好。