我对此感到困惑,这真的令人沮丧。我试图将一个函数绑定到一系列页面元素上的blur事件,以便当它们每个松散焦点时,该函数被触发。我可以按预期看到元素的id打印到控制台,但添加到blur事件似乎不起作用。
我正在使用jQuery(2.0.3),我认为以下代码可以正常工作:
$('div.myDiv').each(function(index, element) {
console.log(element.id);
element.blur(function() {
console.log("Handler for .blur called.");
});
});
元素的HTML看起来像这样:
<div id="foo" class="myDiv" contenteditable="true">text 1</div>
<div id="baz" class="myDiv" contenteditable="true">text 2</div>
答案 0 :(得分:1)
element
是一个DOM元素,而不是一个jquery对象。所以你可以直接把它绑定为:
$('div.myDiv').blur(function () {
console.log("Handler for .blur called.");
});
你拥有的就是:
$('div.myDiv').each( function(index, element) {
element.onblur = function() { //or use eventlistener to set the function reference.
console.log("Handler for .blur called.");
} ;
});
答案 1 :(得分:1)
尝试
$('div.myDiv').each( function() {
console.log( $(this).attr('id') );
$(this).blur( function() {
console.log("Handler for .blur called.");
}
);
});