卡在jQuery模糊事件上



我被困在这个上面,这真的很令人沮丧。 我正在尝试将一个函数绑定到一系列页面元素上的模糊事件,以便当它们每个焦点松散时,该函数被触发。 我能够按预期看到元素的 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.");
                    }
                );
  });

最新更新