Jquery .on()方法不使用$ .get()内容

时间:2015-01-17 21:53:19

标签: javascript php jquery

我有一个如下代码:

$.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");
});

也许有人有同样的问题,但有解决方案?

2 个答案:

答案 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");
});