文本区域没有响应jQuery模糊



我有几个动态加载的文本区域,当它们变得模糊时似乎没有响应。我使用.post加载它们(它们在php脚本中生成,并作为显示数据返回(。我制作了这个jsfiddle,它可以自己工作,但不在我的页面上。问题可能是文本区域是动态加载的吗?我在SO上的其他地方读到,我应该使用.on((来处理动态加载的元素(我确实使用过它(,但它在我的页面上仍然不起作用。这是jsfidd:中的jQuery代码

$('.crit_desc').on('blur', function () {
    var value = $(this).val();
    alert(value);
});

将代码更改为:

$(document).on('blur', '.crit_desc', function () {
    var value = $(this).val();
    alert(value);
});

由于元素是动态加载的,因此在页面加载时,它们需要绑定到DOM中存在的元素。理想情况下,您需要一个比document更接近动态加载元素的元素来帮助性能。

根据.on((上的文档:

事件处理程序仅绑定到当前选定的元素;他们必须在代码调用.on((时存在于页面上。为确保元素存在并且可以选择,请执行事件中元素的文档就绪处理程序内部的绑定页面上的HTML标记。如果新的HTML正在被注入到页面中,选择元素并在生成新HTML后附加事件处理程序放置到页面中。

如果是动态加载的,请使用livequeryhttp://docs.jquery.com/Plugins/livequery

$('.crit_desc').livequery('blur', function () {
    var value = $(this).val();
    alert(value);
});

或者检查该模拟";焦点";以及";模糊";在jQuery.live((方法中,因为.live不支持模糊和聚焦

相关内容

  • 没有找到相关文章

最新更新