gpt4 book ai didi

javascript - 停止传播使用 ASP.Net 中的属性定义的 JavaScript 事件

转载 作者:行者123 更新时间:2023-12-03 09:27:17 25 4
gpt4 key购买 nike

我已经为 ASP.Net 页面代码隐藏中的链接定义了客户端单击事件。此代码位于 VB.Net 中,如下所示,它使用链接控件的 Attributes 集合来添加此客户端事件。该事件正在按预期执行,但我无法获取用于停止事件传播的“event”参数的句柄。

问题

如何访问 event 参数,以便调用 stopPropagation 方法来防止触发父级 div 的点击事件?

Dim link As System.Web.UI.WebControls.LinkButton = DirectCast(sender,
System.Web.UI.WebControls.LinkButton)

link.Attributes.Add("onclick", "OnEmployeeClick('" &
dataRowItem("EmployeeId").ToString() & "','" & link.ClientID & "');
return false; ")

更新1

按照 dandavis 的建议,我只是使用了自动可用的 event 参数,并且它起作用了。我在代码隐藏的 onclick 定义中的 OnEmployeeClick 方法调用之前添加了 event.stopPropagation(); 的新代码。

   Dim link As System.Web.UI.WebControls.LinkButton = DirectCast(sender,
System.Web.UI.WebControls.LinkButton)

link.Attributes.Add("onclick", "event.stopPropagation();OnEmployeeClick('" &
dataRowItem("EmployeeId").ToString() & "','" & link.ClientID & "');
return false; ")

最佳答案

浏览器自动向内联事件(在 HTML 属性中定义的事件)插入一个形式参数,event

这意味着

<div onclick=alert(event.type)> Test </div>

应在单击时提醒“click”,并从“magic”event 参数中获取该事件类型字符串。

在 FF、Ch、IE9 中测试。

观看现场演示来测试您自己的浏览器的兼容性:http://pagedemos.com/s87ynjsgc7pe

关于javascript - 停止传播使用 ASP.Net 中的属性定义的 JavaScript 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31630650/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com