我已将以下代码包含在我的页面标题中:
<script type="text/javascript">
jQuery('#start_price').mouseleave(function() {
alert('Hi!');
});
</script>
我已经通过将鼠标放入带有此ID的文本字段并将其删除,在其外部单击但未触发任何内容来测试它。我检查了错误控制台,没有任何东西,所以看起来它甚至都没有试图解雇它。
我做错了什么?
答案 0 :(得分:3)
您必须在DOM就绪上执行代码:
$(document).ready(function(){ /* your code */ });
否则,jQuery('#start_price')
将不匹配,因为尚未创建该元素。
答案 1 :(得分:3)
在注册事件处理程序时,时间就是一切。您需要等到文档准备就绪:
jQuery(document).ready(function(){
jQuery('#start_price').mouseleave(function() {
alert('Hi!');
});
});
查看更新的小提琴:
答案 2 :(得分:0)
您可以使用.on()
jQuery(document).on('mouseleave', '#start_price', function() {
alert('Hi!');
});
如果将事件绑定到文档,更准确地说是在元素上,则不需要等待DOM准备好。