Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Textarea未使用jQuery响应模糊_Jquery_Textarea_Blur - Fatal编程技术网

Textarea未使用jQuery响应模糊

Textarea未使用jQuery响应模糊,jquery,textarea,blur,Jquery,Textarea,Blur,我有几个动态加载的文本区域,当它们变得模糊时似乎没有响应。我使用.post加载它们(它们在php脚本中生成,并作为数据返回以供显示)。我制作了,它可以自己工作,但不能在我的页面上。问题可能是文本区域是动态加载的吗?我在上的其他地方读过,所以我应该使用.on()来动态加载元素(我确实使用了它),但它在我的页面上仍然不起作用。这是JSFIDLE中的jQuery代码: $('.crit_desc').on('blur', function () { var value = $(this).v

我有几个动态加载的文本区域,当它们变得模糊时似乎没有响应。我使用.post加载它们(它们在php脚本中生成,并作为数据返回以供显示)。我制作了,它可以自己工作,但不能在我的页面上。问题可能是文本区域是动态加载的吗?我在上的其他地方读过,所以我应该使用.on()来动态加载元素(我确实使用了它),但它在我的页面上仍然不起作用。这是JSFIDLE中的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中存在的元素。理想情况下,您希望有一个元素比
文档
更接近动态加载的元素,以提高性能

根据on.on()上的命令:

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


如果是动态加载的,请使用livequery


或者检查此项,因为.live不支持模糊和聚焦

这一功能!你能解释一下为什么这样做有效,但我以前做的却不行吗?以防万一类似的事情再次发生。正如我在回答中提到的,当您将事件绑定到动态加载的元素时,您必须以稍微不同的方式使用
.on()
。请参阅我的答案说明和
.on()
的文档。哦,如果我的回答对你有帮助,请考虑把它投票和/或把它标记为被接受的答案。好的,谢谢!只是当我第一次看到你的答案时,出于某种原因,解释没有显示出来。我将在要求的分钟后接受答案。不确定这是否是另一个问题,但是否有办法更改HTML。对于已经内置到jQuery中的内容,无需使用插件。谢谢,我将作为替代方法进行研究。@j08691 ye,但我不知道您的方法:)
$('.crit_desc').livequery('blur', function () {
    var value = $(this).val();
    alert(value);
});