我正在使用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事件不适用,请?
答案 0 :(得分:1)
对于动态添加的元素,你应该使用方法2,但你有错误。
功能应如下所示:
$(window.opener.document).on("click", "#" + ClientID + "_imgImageID" ,function() { alert('test'); return false; });