坚持jQuery模糊事件

时间:2013-12-28 02:23:53

标签: javascript jquery html5

我对此感到困惑,这真的令人沮丧。我试图将一个函数绑定到一系列页面元素上的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>

2 个答案:

答案 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.");
                    }
                );
  });