点击时,我试图获取锚点标记的 ID属性的值。
<a href="#" id="a'.$id.'" class="delete_assessor delete-row"><i class="fa fa-trash-o"></i></a>
<script type="text/javascript">
$(document).ready(function(){
$(".delete_assessor").live("click",function(){
alert('delete');
var id = $(this).attr("id");
var trhandler = 'a'+id;
if(confirm("Do you really want to delete this assessor ?")){
ajax("delete_assessor",$(this).attr("id"),trhandler);
}
});
});
无法提醒任何值,并且在控制台中没有显示任何消息
alert('delete');
console.log('clicked');
答案 0 :(得分:2)
从jQuery 1.7开始,不推荐使用 .live() 方法。使用 .on() 附加事件处理程序。同时添加 event.preventDefault()
以防止默认行为或点击事件。
$(document).ready(function() {
$(".delete_assessor").on("click", function(e) {
e.preventDefault()
alert('delete');
var id = $(this).attr("id");
var trhandler = 'a' + id;
if (confirm("Do you really want to delete this assessor ?")) {
ajax("delete_assessor", $(this).attr("id"), trhandler);
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<a href="#" id="a'.$id.'" class="delete_assessor delete-row"><i class="fa fa-trash-o"></i>ggg</a>
答案 1 :(得分:1)
这是因为版本1.7中不推荐.live()
,版本1.9中删除了.on()
。您应该使用.live()
代替$(".delete_assessor").on("click",function(){
//rest code....
});
{{1}}