我想在“onclick”事件上运行以下方法:
function dostuff(evt) {
var currentTarget = evt.currentTarget;
// do more stuff
}
在我的链接上,我按以下方式添加onclick事件:
link.Attributes.Add("onclick", "dostuff()");
但是,在上面的例子中,evt参数为null。我想将click事件解析为JavaScript函数,因此我可以获取currentTarget,srcElement等。
如何在我的onclick事件中添加它?
答案 0 :(得分:2)
像这样制作onclick
属性:
link.Attributes.Add("onclick", "dostuff.call(this, event)");
this
将是绑定元素,
event
对象将传递
它适用于标准浏览器以及IE8和低级(包括传递的事件对象)
答案 1 :(得分:0)
Parantheses是额外的:
link.Attributes.Add("onclick", "dostuff");
您将"dostuff"
的返回值分配给`“onclick”事件,而不是将指针指定给函数。
而不是使用"evt"
使用"event"
关键字。使用"srcElement"
属性访问元素。
function dostuff() {
var currentElement = event.srcElement;
}
希望它有所帮助。
答案 2 :(得分:0)
试试这个:
代码隐藏:
HyperLink1.Attributes.Add("onclick", "return handleHyperLinkClick(this);");
.aspx的:
<script type="text/javascript" language="javascript">
function handleHyperLinkClick(hyperlink) {
return confirm("Do you want to navigate to " + hyperlink.href + " ?");
}
</script>
希望这有帮助!