我正在构建一个简单的单页面应用程序,允许用户编辑一组json源。我在尝试将鼠标进入/离开事件绑定到页面上给定类别的所有输入上时遇到了问题。简单地说,第一个有效而第二个无效。
我使用以下jQuery代码:
$(".feed").on("mouseenter", ".publish", function(){
console.log("feed")
}); //this is for test purposes
$(".feed").on("mouseenter", ".keys-input", function(){
console.log($(this));
$(this).siblings(".delete").fadeIn(75);
});
$(".feed").on("mouseleave", ".keys-input", function(){
$(this).siblings(".delete").fadeOut(75);
});
以下是HTML代码:
<div class="feed"><!-- sorry for the confusion -->
<div class="feed-header">
<h2>pga-2013.json</h2>
<button class="publish button-white-bg button-save">Publish</button>
</div>
<div class="kvRow collapsed">
<span class="delete icon">x</span>
<input type="text" class="keys-input" value="free" disabled=""/>
<input type="text" class="values-input" value="0" disabled=""/>
</div>
</div>
我询问是否有绑定元素的最大数量是因为
".feed"
事件触发,而dom上只有11个,而".keys-input"
事件不会触发,但dom上有7266个。要么我视力有问题,要么我做了些愚蠢的事情...这里有一个只有少量元素但使用相同代码的fiddle示例:http://jsfiddle.net/khLPc/
这是问题所在:Event on a disabled input输入框已被禁用,因此不会触发事件,这对我来说很奇怪...
$(".feed")
替换为$(document)
进行调试。看看是否有效。 - Sushanth --