我有以下 javascript,如果用户单击 .field_trip_mini_div 中的删除 div,我不希望触发此 mousedown 函数。删除 div id 是“删除”。我应该添加什么代码,以便在用户单击删除 div 时鼠标按下功能不会继续?我尝试将第一行更改为
$(".field_trip_mini_div :not('#delete')").live({
但这没有用。有没有办法可以在第二行代码中停止它?
$(".field_trip_mini_div").live({
mousedown: function(){
$.ajax({
type: "POST",
url: "/field_trips/"+selected_field_trip_id+"/reload_div",
data: {id: selected_field_trip_id},
success: function(response)
{
$('#selected_fieldTrip_div').html(response);
}
});
});
编辑:我最初使用#,感谢您的回答,但这是一个 Stack Overflow 输入错误。
最佳答案
delete
是field_trip_mini_div
里面的一个元素吗?如果是这样,您可以使用 e.target
检查被点击元素的目标 ID:
$(".field_trip_mini_div").live({
mousedown: function(e){
if ($(e.target).attr("id")!= "delete") // This line right here
{
$.ajax({
type: "POST",
url: "/field_trips/"+selected_field_trip_id+"/reload_div",
data: {id: selected_field_trip_id},
success: function(response)
{
$('#selected_fieldTrip_div').html(response);
}
});
}
});
关于事件和事件
对象的一些信息:http://www.w3schools.com/jsref/dom_obj_event.asp
关于javascript - Mousedown jquery 除了与否,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13163417/