为JavaScript函数提供事件参数

时间:2012-11-24 14:26:00

标签: javascript asp.net html javascript-events

我想在“onclick”事件上运行以下方法:

function dostuff(evt) {
       var currentTarget = evt.currentTarget;
       // do more stuff
    }

在我的链接上,我按以下方式添加onclick事件:

 link.Attributes.Add("onclick", "dostuff()");

但是,在上面的例子中,evt参数为null。我想将click事件解析为JavaScript函数,因此我可以获取currentTarget,srcElement等。

如何在我的onclick事件中添加它?

3 个答案:

答案 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>

希望这有帮助!