我尝试过其他类似问题的例子,但没有为我工作过。
我想也许是因为它是一个动态创建的事件发生的区域。类mapster_tootlip
中的所有内容都是动态创建的。
无论如何这里是HTML的剪辑
以下是我的一些代码
$( "body" ).on( "click touchstart", ".painTick_yes", function(evt) {
evt.stopPropagation();
evt.preventDefault();
evt.stopImmediatePropagation();
var full_id = $(this).attr('id');
var id = full_id.replace("_yes", "");
$("#"+id+"_no").removeClass("btn-success");
$("#"+id+"_no").addClass("btn-default");
$("#"+id+"_yes").removeClass("btn-default");
$("#"+id+"_yes").addClass("btn-danger");
$("#"+id + '_pain').val('true');
alert(id+" - true");
jointListClickEvent(id, true);
$('#'+id+"_text").focus();
});
警报会两次触发,即使我没有发出警报,如果发生两次火警(一个答案链接建议只有当警报出现时才发射两次)
最早的静态父母是body
,所以我很想知道因为它到目前为止还要冒泡,这可能是一个原因。
我试过,evt.stopPropagation();
,evt.preventDefault();
和evt.stopImmediatePropagation();
我曾尝试过ID复选框和按钮,但似乎没有任何效果。