Javascript 将jQuery事件绑定到具有特定HTML标记(如TEXTAREA)的DIV
我有一个Javascript 将jQuery事件绑定到具有特定HTML标记(如TEXTAREA)的DIV,javascript,jquery,html,textarea,Javascript,Jquery,Html,Textarea,我有一个DIV元素,它包含动态创建的文本区域和以及 目前,我已经在上面的DIV上绑定了三个事件,如下所示 jQuery("#uniqueId ").bind("click change keypress", function(e){ .... .... }); 现在出现的问题是当我点击fileinput按钮浏览并上传一个文件时,或者选中复选框我收到以下错误 Uncaught InvalidStateError: An attempt was made to use an obj
DIV
元素,它包含动态创建的文本区域
和
以及
目前,我已经在上面的DIV
上绑定了三个事件,如下所示
jQuery("#uniqueId ").bind("click change keypress", function(e){
....
....
});
现在出现的问题是当我点击file
input按钮浏览并上传一个文件时,或者选中复选框我收到以下错误
Uncaught InvalidStateError: An attempt was made to use an object that is not, or is no longer, usable.
myxFunction myXjavscript.js:1172
(anonymous function) myXjavscript.js:109
f.event.dispatch jquery-1.7.1.min.js:3
h.handle.i
正因为如此,文件
和复选框
输入不起作用并抛出错误。我只想在TEXTAREA
上绑定上述事件,而不想在DIV
下绑定其他元素
使用“单击更改按键”
事件的原因是因为在Chrome中,我正在Textarea上执行动态操作,以便在添加/编辑/删除Textarea中的文本后获得光标位置。为了记录所有这些,我需要添加这三个事件
我如何才能做到这一点?在使用元素之前,您应该检查它,就像
if(jQuery("textarea#uniqueId").length)
{
jQuery("textarea#uniqueId").bind("click change keypress", function(e){
....
....
});
}
或如果元素存在于页面中,则在文档就绪函数中编写代码,如
$(function(){
jQuery("textarea#uniqueId").bind("click change keypress", function(e){
....
....
});
});
另外,id必须是唯一的如果
id
与其他元素冲突
则应使用id liketextarea#uniqueid指定元素
,如果只想将事件绑定到#uniqueid中包含的textarea,请使用第二个参数(委托选择器):
编辑:没有意识到你正在使用。绑定,始终使用。打开!太棒了 感谢您的快速回答,但当文档准备就绪时,代码已经被调用。我很欣赏您的回答,但在实现您的解决方案后,错误消失了,但浏览按钮仍然无法正常工作:(如果我停止包含jquery-1.7.1.min.js文件,那么问题就消失了!然后,依赖于jquery文件的其他问题开始出现。
jQuery("#uniqueId ").on("click change keypress", "textarea", function(e){
....
....
});