我在一个打开带有图片选择器的弹出窗口的网页上工作。添加到选择列表中的图片会立即作为缩略图克隆到开启窗口 - 该部分工作正常。
当我尝试使这些缩略图可点击时出现问题,如下所示:
opener.document.getElementById("someid").onclick = function(){ alert("bam!"); }
到目前为止,我仍然设法在弹出窗口仍然打开时(而不是普通警报(...)我使用opener.window.alert("bam!")
)。但是,当我关闭弹出窗口时,单击缩略图会导致错误。
那些有类似问题并让它工作的人?提前谢谢。
更新:
好的,我发现不是最漂亮的解决方案,但到目前为止它的确有效。我必须在开启窗口中声明额外的功能:
function addbam(id){
document.getElementById(id).onclick = function(){ alert("bam!"); }
}
在弹出窗口中:
opener.addbam("someid");
如果这个解决方案能够在多浏览器测试中存活下来,那么它将一直与我保持一致,但是我非常确定应该可以通过这种onclick声明以非常简单的方式删除“错误”的范围。
谢谢你们,你的建议让我想到了更富有成效的方式。
答案 0 :(得分:1)
如果你使用jquery:
$("#someid").on('click', function () {
alert("bam");
});
或没有 jquery: --------- ---------- EDIT
//you put your element in a variablle
var div = document.getElementsByTagName("div")[0];
/*you add an event listenner to your variable, when click is triggered, it runs what's inside the brackets*/
div.addEventListener("click", function (evt) {
alert("BAM!");
});
这里有一个专门为你做的例子:)