我有一个由jQuery .load()函数加载的内容:

<input type="text" name="street2" id="street2" value="" class="text" />


我有一个简单的jQuery处理程序,可将值重点添加到输入标签中:

jQuery( function( $ ) {
    $( "#street2" ).focus(function(){
        $( "#street2" ).val($( "#address" ).val());
    });
});


对象#street2不存在时,首次加载该JS代码时便会与其他脚本一起加载。因此,它没有用。

我已经尝试在执行Ajax之后直接以不同的方式加载脚本,但是没有成功。
您能建议我如何使用jQuery处理新对象吗?

提前致谢

最佳答案

您是否尝试过事件委托(“为现在和将来与当前选择器匹配的所有元素都添加事件处理程序”)?

$(document).on('focus', '#street2', function(){
    $('#street2').val($('#address').val());
});


具有事件委托:http://jsfiddle.net/8HHTM/

没有(例如您当前的代码):http://jsfiddle.net/8HHTM/1/

关于javascript - jQuery-如何访问Ajax调用显示的对象?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18400644/

10-11 06:01