1

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

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

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

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

但是,在我上面的示例中,evt 参数为空。我想将点击事件解析为 JavaScript 函数,这样我就可以得到 currentTarget、srcElement 等。

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

4

3 回答 3

2

使您的onclick属性如下所示:

link.Attributes.Add("onclick", "dostuff.call(this, event)");

  • this在函数中将是绑定元素,

  • event对象将被传递

  • 它适用于标准浏览器以及 IE8 及更低版本(包括正在传递的事件对象)

于 2012-11-24T14:41:49.067 回答
0

尝试这个:

代码隐藏:

HyperLink1.Attributes.Add("onclick", "return handleHyperLinkClick(this);");

ASP:

<script type="text/javascript" language="javascript">

        function handleHyperLinkClick(hyperlink) {

            return confirm("Do you want to navigate to " + hyperlink.href + " ?");
        }
</script>

希望这可以帮助!

于 2012-11-24T14:41:24.233 回答
0

括号是额外的:

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

您正在将返回值分配给"dostuff"“onclick”事件,而不是将指针分配给函数。

也不要使用应该"evt"使用的关键字。"event"使用"srcElement"属性访问元素。

function dostuff() {

    var currentElement = event.srcElement;
}

希望能帮助到你。

于 2012-11-24T14:29:00.430 回答