如何使用jQuery.on()方法声明分组事件以识别未来的元素?
我的结构如下: HTML如何使用jQuery.on()方法声明分组事件以识别未来的元素?,jquery,onchange,Jquery,Onchange,我的结构如下: HTML <select name="var" id="myselect"> <option value="">Select</option> <option value="1">Value 1</option> <option value="2">Value 2</option> </select> 事件不会触发,因为select是在页面加载后动态创建的
<select name="var" id="myselect">
<option value="">Select</option>
<option value="1">Value 1</option>
<option value="2">Value 2</option>
</select>
事件不会触发,因为select
是在页面加载后动态创建的
有人知道如何使用来识别具有分组事件的未来元素?
在你可能出错的事情中:
- 您不需要导入jQuery
- 在HTML之前调用脚本(只需将脚本放在正文末尾)
$(function(){
$("#myselect").on({
click: function(){
console.log("event click fired!");
},
change: function(){
console.log("event change fired!");
}
});
});
编辑:
如果选择是动态创建的,请使用以下选项:
$(document.body).on('click', "#myselect", function(){
console.log("event click fired!");
}).on('change', "#myselect", function(){
console.log("event change fired!");
});
请注意,您可以将
document.body
替换为调用此代码时存在的元素的选择器,该选择器将包含select。在某些浏览器中退出select后,以及在其他浏览器中选择选项时,将触发更改事件。您可能还希望查看“input”事件。@dystroy,我已经更新了问题,请回答look@KevinB,请查看我的编辑
$(document.body).on('click', "#myselect", function(){
console.log("event click fired!");
}).on('change', "#myselect", function(){
console.log("event change fired!");
});