我希望将一些JavaScript附加到服务器端按钮的onclick
。像
//b is a button
b.Attributes.Add("onclick", "my.js.here();");
但不消除该按钮上任何可能存在的onclick
事件。
编辑:上面代表一个代码隐藏文件(在C#中),它试图将另一个事件监听器添加到已经可能有onclick
事件的客户端按钮。
答案 0 :(得分:1)
我通常会尝试避免使用属性订阅JavaScript事件。相反,我会选择addEventListener
或一些抽象(比如jQuery' sclick处理程序)。例如,继续使用jQuery,您可以在ASPX页面中使用此JavaScript:
$('#yourButtonId').click(function() {
my.js.here();
});
这有几个优点,主要的是你可以添加处理程序而不会踩到已经存在的处理程序。
你可以尝试做一些事情,比如获取属性的现有值,然后用my.js.here();
作为前缀,但这似乎是一个不太理想的解决方案。< / p>
答案 1 :(得分:0)
为什么不直接使用按钮元素ID,然后为onclick做一个事件处理程序?
var myBtn = document.getElementById("buttonEl");
myBtn.onclick = function () {
alert("Button has been clicked");
}
答案 2 :(得分:0)
使用以下方法
$("#AuthorityLevel").find("a").attr('onclick','my.js.here();');