我有一个如下代码:
$.get( "includes/ajax_ok.php", { edycja: "<?=$_GET[edycja]; ?>"} ,function( data ) {
$('#lista').html(data);
});
$("document.body").on('click', '#test' ,function(){
event.preventDefault();
alert("ok");
});
<body>
<div id="lista"></div>
</body>
出于测试目的,ajax_ok.php文件只有一个代码行:
<a href='' id='test'>x</a>
问题是,当我点击锚点 x 时, ok 消息的警告不会出现。
我已经尝试过类似下面的代码,所以我认为原因是$ .get()函数,但我必须用它来做。
$('#lista').html("<a href='' id='test'>x</a>");
$("document.body").on('click', '#test' ,function(){
event.preventDefault();
alert("ok");
});
也许有人有同样的问题,但有解决方案?
答案 0 :(得分:0)
使用“body”,而不是“document.body”,jQuery的第一个arg始终是CSS选择器或HTMLDOMElement。
你也可以使用没有引号的document.body。
答案 1 :(得分:0)
更改
$("document.body")
到
$("body")
document
变量是在引用文档时在字符串外部使用的。
您可以还将事件附加到文档中,如果这是您想要的:
$(document).on('click', '#test' ,function(){
event.preventDefault();
alert("ok");
});