0

我在一个网页上工作,该网页打开一个带有图片选择器的弹出窗口。添加到选择列表中的图片会立即作为缩略图克隆到打开窗口 - 这部分工作正常。

当我尝试使这些缩略图可点击时会出现问题,如下所示:

opener.document.getElementById("someid").onclick = function(){ alert("bam!"); }    

到目前为止,我只在弹出窗口仍然打开时才设法让这个工作(而不是我使用的普通 alert(...) opener.window.alert("bam!"))。但是,当我关闭弹出窗口时,单击缩略图会导致错误。

有谁有类似的问题并得到它的工作?提前致谢。

更新:

好的,我发现不是最漂亮的解决方案,但到目前为止它有效。我不得不在开启窗口中声明额外的功能:

function addbam(id){
    document.getElementById(id).onclick = function(){ alert("bam!"); }
}

在弹出窗口中:

opener.addbam("someid");

如果这个解决方案在多浏览器测试中幸存下来,它会一直存在,但是我很确定应该可以以非常直接的方式从此类 onclick 声明中删除“错误”范围。

谢谢大家,你的建议让我思考更有成效的方式。

4

1 回答 1

1

如果你使用 jquery:

$("#someid").on('click', function () {  
    alert("bam");
});

没有jquery: ---------编辑----------

//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!");
});

这是一个专为您制作的示例:)

http://jsfiddle.net/YDFLV/50/

于 2013-01-09T17:50:30.200 回答