我试图创建一个带jQuery指令的动态按钮追加,但首先我从容器div中删除内容,这一切发生在单击图像时,所以在该事件之后创建的按钮应该修复las one,但是,问题是按钮被删除仍然执行自己的onlcick事件,所以我在浏览器中打开了多个窗口。为什么当我删除一个仍然执行onclick事件的HTML按钮?
我在代码的下面留下了一些信息,希望有些人可以帮助理解发生了什么,顺便说一下,我不知道为什么,但是按钮是在DOM中的span标记内创建的......然后就在div容器。
<script>
idDelegacion = 0;
function planoClick(id) {
idDelegacion = id;
$.ajax({
type: 'GET',
contentType: "application/json; charset=utf-8",
url: '@Url.Action("partialViewLuminariasDelegacion","Luminaria")',
data: {
"idDelegacion": idDelegacion
},
datatype: "json",
success: function (data) {
$("#luminariasDelegacion").html(data);
$("#nuevaLuminaria").show();
$("#luminariasDelegacion").show();
$("#nuevaLuminaria").empty();
//$("#nuevaLuminaria").live().ready(function() { $("#nuevaLuminaria").children().children("#btnNuevaLuminaria").remove(); });
$("#nuevaLuminaria").append('<input type="button" value="Nueva Luminaria" id="btnNuevaLuminaria" style="position:relative"/>').button().click(function jsAbreOperacionLuminaria() {
url = "../../Luminaria/Create/?idDelegacion=" + idDelegacion
window.open(url);
});
},
error: function() {
alert('error al traer las luminarias de la delegación ' + idDelegacion)
}
});
}
</script>
[jQuery中删除事件处理程序的最佳方法?](http://stackoverflow.com/questions/209029/best-way-to-remove-an-event-handler-in-jquery)问题是你没有删除事件处理程序。这与HTML不一样,它是你必须使用的JavaScript事件。 – abc123