嗨,如果有以下PHP代码:
if (isset($_SESSION["kriterien"]) && count($_SESSION["kriterien"]) != 0) {
echo "<ul>" ;
foreach ($_SESSION["kriterien"] as $filterkriterumkey => $filterkriterium) {
foreach($filterkriterium as $filterkey => $filter) {
echo '<li><p>'.$filterkriterumkey.': '.$filter.'</p><button type="button" class="buttondeletefilter" id="'.$filterkriterumkey.'" name="'.$filterkey.'"><img src="img/delete.png" alt="" /></button></li>';
}
}
echo "</ul>";
}
如您所见,我生成包含特定会话元素中所有元素的HTML-List。每次添加会话元素时,我都会使用$("#listdiv").load('list.php');
重新加载代码(我知道这可能不是最佳实践)。如果单击一个新添加的按钮,我必须使用哪个Jquery事件来执行某些操作?
$(document).ready(function() {
$(".buttondeletefilter").click(function(){
});
});
没有工作。
编辑:
我现在也重新加载脚本。它不完美的原因我喜欢有一个文件的脚本,但它的工作
答案 0 :(得分:1)
您需要将click
事件绑定到动态创建的元素:
$(document).on("click",".buttondeletefilter", function(){
alert($(this).attr('id'));
});
<强> Demo 强>
答案 1 :(得分:0)
使用.on()
:
$(document).ready(function() {
$(".buttondeletefilter").on("click", function(){
});
});
答案 2 :(得分:0)
嘿,你需要使用,但需要做一个委托。你有两个选择
1.选择按钮的任何静态父级,例如假设你的按钮位于一个名为my div的静态div中,你不会替换它。
<div class="mydiv"> dynamic buttons here ...... </div>
$("mydiv").on('click','.buttondeletefilter',function(){
your code goes here...
})
2.如果您没有任何静态父母,那么您可以选择这样的文件或正文
$(document).on('click','.buttondeletefilter',function(){
your code goes here
})
$('body').on('click','.buttondeletefilter',function(){
your code goes here
})
我总是更喜欢任何静态父级用于性能目的。
这对你来说肯定有用。 ;)