来自父页面的元素的JQuery单击事件

时间:2016-02-13 13:55:37

标签: javascript jquery html

我正在使用jquery-1.8.3,并试图为图像html元素提供onclick事件。

enum EyeColor{Blue, Brown}; // Even better would be enum class

class Face
{
private:
    // Here is the composition - to a base-class ptr.
    std::unique_ptr<Eyes> m_eyes;

public:
    explicit Face(EyeColor c) 
    {
        // Use c to instantiate m_eyes below to the appropriate-class object.
    }
};

问题是这个元素是动态生成的。我可以使用JQuery代码成功删除onclick属性:

<input id=ClientId1_imgImageID title="Click for larger view" style="BORDER-LEFT-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-TOP-WIDTH: 0px" type=image name=ClientId1$imgImageID ImageID="3baf5b7b-2246-4be2-a21f-f5b7956e0010"></input>

但是当我尝试添加点击事件时,我失败了。我尝试了不同的方法,但它们都没有工作:

方法1:

function UpdateOnclick(ClientID){
    window.opener.$("#" + ClientID + "_imgImageID").removeAttr("onclick");
}

方法2:

window.opener.$("#" + ClientID + "_imgImageID").click(function() {  alert('test'); return false; });

有人可以帮我理解为什么onclick事件不适用,请?

1 个答案:

答案 0 :(得分:1)

对于动态添加的元素,你应该使用方法2,但你有错误。

功能应如下所示:

$(window.opener.document).on("click", "#" + ClientID + "_imgImageID" ,function() { alert('test'); return false; });