Javascript 使用jquery为动态创建的特定元素添加事件侦听器
我正在使用jquery创建动态元素,并尝试为元素绑定侦听器。 通过使用绑定侦听器Javascript 使用jquery为动态创建的特定元素添加事件侦听器,javascript,jquery,Javascript,Jquery,我正在使用jquery创建动态元素,并尝试为元素绑定侦听器。 通过使用绑定侦听器 $('#div11').on('click',$('#textbox31'),function(e){showPopupImage(e);}); $('#div11').on('click',$('#textbox32'),function(e){alert('hi');}); 函数,它将侦听器添加到子代,即使我指定了要绑定的特定字段 请告诉我处理这种情况的好方法。问题是您没有为on功能指定正确的参数。如果查看J
$('#div11').on('click',$('#textbox31'),function(e){showPopupImage(e);});
$('#div11').on('click',$('#textbox32'),function(e){alert('hi');});
函数,它将侦听器添加到子代,即使我指定了要绑定的特定字段
请告诉我处理这种情况的好方法。问题是您没有为
on
功能指定正确的参数。如果查看JQuery文档,您将使用以下函数重载:
.on(事件[,选择器][,数据])
错误指定的零件是选择器
参数。此参数需要选择器字符串,而不是JQuery objct
以下工作将起作用:
$('#div11').on('click','#textbox31',function(e){showPopupImage(e);});
$('#div11').on('click','#textbox32',function(e){alert('hi');});
请注意,我已将$('#textbox31')
替换为'#textbox31'
,您将看到单击事件未应用于
textbox33
和textbox34
问题在于您没有为on
函数指定正确的参数。如果查看JQuery文档,您将使用以下函数重载:
.on(事件[,选择器][,数据])
错误指定的零件是选择器
参数。此参数需要选择器字符串,而不是JQuery objct
以下工作将起作用:
$('#div11').on('click','#textbox31',function(e){showPopupImage(e);});
$('#div11').on('click','#textbox32',function(e){alert('hi');});
请注意,我已将$('#textbox31')
替换为'#textbox31'
,您将看到单击事件未应用于
textbox33
和textbox34
尝试:
$('#div11').on('click', '#textbox31',function(e){
showPopupImage(e);
});
$('#div11').on('click', '#textbox32', function(e) {
//do something
});
使用可以定义一次函数,它将对任何动态添加的元素执行。试试看:
$('#div11').on('click', '#textbox31',function(e){
showPopupImage(e);
});
$('#div11').on('click', '#textbox32', function(e) {
//do something
});
使用可以定义一次函数,它将对任何动态添加的元素执行。使用jquery试试这个!那么为什么要标记javaScript?@shadow:javaScript标记是有效的,JQuery是javaScriptlibrary@musefan但它是一个图书馆,不是本地的javascript@shadow:JQuery是用javascript编写的,要使用它,必须编写javascript。问题中包含的代码都是javascript,因此使用jquery将其标记为soTry this是有意义的!那么为什么要标记javaScript?@shadow:javaScript标记是有效的,JQuery是javaScriptlibrary@musefan但它是一个图书馆,不是本地的javascript@shadow:JQuery是用javascript编写的,要使用它,必须编写javascript。问题中包含的代码都是javascript,因此将其标记为javascript是有意义的