给未来元素绑定事件的写法,注意红色部分(既然该元素还未生成,则可以确定到它的父节点嘛:document)
$(document).on("click","[type='radio'][urlortext='radioText']", function() {
$(this).closest('td').next('td').find('input[name="menuText"]').css('display','block');
$(this).closest('td').next('td').find('input[name="menuUrl"]').css('display','none');
});
$(document).on("click","[type='radio'][urlortext='radioUrl']", function() {
$(this).closest('td').next('td').find('input[name="menuUrl"]').css('display','block');
$(this).closest('td').next('td').find('input[name="menuText"]').css('display','none');
});
.on(events, callback)
只能绑定页面已有元素的事件。.on(events, selector, callback)
则是在 已有的元素 上绑定 代理的 事件处理器 (addEventListener
实际上在该已有元素上调用),但只有事件的实际 source
是其子代元素并且符合 selector
时, callback
才会以该实际 source
为 this
指向的对象被调用。
For example:
$(document).on("click", "a", function(){
console.log(this.tagName.toLowerCase()); // "a"returnfalse;
});