我被困在这个上面,这真的很令人沮丧。 我正在尝试将一个函数绑定到一系列页面元素上的模糊事件,以便当它们每个焦点松散时,该函数被触发。 我能够按预期看到元素的 id 打印到控制台,但添加到模糊事件似乎不起作用。
我正在使用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>
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.");
} ;
});
试试
$('div.myDiv').each( function() {
console.log( $(this).attr('id') );
$(this).blur( function() {
console.log("Handler for .blur called.");
}
);
});