17

我有功能:

$(document).ready(function(){

    $("input.myclass").focus(function() {
        // something
    }).blur(function() {
        // something
    });

}

和html:

<div class="usil">
    <div class="editable">
        <form>
            <input type="text" class="myclass" />
        </form>
    </div>
</div>

在“myclass”元素上的加载页面 jquery 工作正常,但其他脚本动态添加“usil”类 div 并且在此 div 上 jquery 不起作用。怎么做?

4

2 回答 2

37

使用事件委托:

    $(document).on('focus',"input.myclass", function() {
        // something
    }).on('blur',"input.myclass", function() {
        // something
    });

或者

$(document).on({
    'focus': function () {
        // something
    },
    'blur': function () {
        // something
    }
}, 'input.myclass');

http://api.jquery.com/on

http://learn.jquery.com/events/event-delegation/

于 2012-09-14T21:07:12.797 回答
-1

该代码可以帮助:

$('input').live('focus', function() {
    $('label span').text('focus');
}).live('blur', function() {
    $('label span').text('blur');
});


使用示例:http: //jsfiddle.net/CPQ37/

于 2012-09-14T21:23:39.203 回答