我不能点击ajax生成的div

时间:2015-09-02 07:21:18

标签: javascript jquery ajax

我从这个媒体尝试了不同的解决方案,但它仍然不适合我,请帮助我。

function get_category(){
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
var ans = document.getElementById("sell_panel");
ans.innerHTML  = xmlhttp.responseText;
}
}
xmlhttp.open("GET", "includes/get_category.php", true);
xmlhttp.send();

}
`$('.item_btn').on('click', function () {// HERE IS MY CLICK EVENT
alert("helo");
});`

AND MY get_category.PHP FILE IS;

<?php
include("database.php");
$db = new Database();   
$sql = "SELECT DISTINCT category FROM stock";
$result = mysql_query($sql);
if($result === FALSE) { 
die(mysql_error()); // TODO: better error handling
}   
while($cat = mysql_fetch_array($result)){

echo "
<div class='item_btn' id='{$cat[0]}'>//HERE IS THE DIV

<label>{$cat[0]}</label>

</div>  
";
}   

?>

我已经受过委托()也没有为我工作,我听说过在ajax中触发我的事件处理程序,但我不知道怎么做,请帮助我们

2 个答案:

答案 0 :(得分:0)

尝试在父级而非.item_btn上附加事件:

$('body').on('click','.item_btn', function () {
   alert("helo");
});

答案 1 :(得分:0)

如果旧版试用.live()代替.on()

,您使用的是哪个版本的jQuery?
$( selector ).live( events, data, handler );                // jQuery 1.3+
$( document ).delegate( selector, events, data, handler );  // jQuery 1.4.3+
$( document ).on( events, selector, data, handler );        // jQuery 1.7+