Javascript点击事件未触发谷歌浏览器中用户控件中的元素

时间:2012-03-04 09:25:16

标签: javascript asp.net google-chrome user-controls attributes

我有一个用户控件和一个图像,我希望执行一些javascript; s点击,在我的用户控件的Page_Load事件中添加以下内容:

imgCalendar.Attributes.Add("onclick", "displayDatePicker('" + txtCalendar.ClientID + "');");

所以我要向onclick添加imgCalendar个事件,我希望该事件用我的Javascript函数txtCalendar的输出填充我的文本框displayDatePicker,它在Internet Explorer中运行得很好,但点击事件不会在chrome中触发,有关为什么会这样做的任何想法?有没有其他方法可以将点击属性添加到我的图像?

2 个答案:

答案 0 :(得分:0)

你不应该这样做吗?

imgCalendar.addEventListener("click", "displayDatePicker('"+txtCalendar.ClientID+"')", false);

答案 1 :(得分:0)

问题是文本框控件的名称在呈现HTML时是chaning,因此函数:displayDatePicker('uc1_txtCalendar')被调用而文本框的名称(请注意它是 name 属性不是ID 用于客户端,因为asp文本框呈现为html输入控件)呈现为'uc111 $ textCalender','$'代替下划线是问题,我解决了这个by giving everything a static ClientIDMode(对于文本框和它的容器,在这种情况下是用户控件)