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

标签 javascript asp.net vb.net

我已经为 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/

相关文章:

Javascript,将大型非常大的表 append 到 DOM 的最佳方法

javascript - jquery 切换无法正常工作

c# - 从缓存中获取位图

vb.net - 如何创建多个套接字作为索引

正则表达式 HTML 帮助

vb.net - 将字符串拆分为 2 个变量

javascript - splice 不适用于 DOM 元素数组

javascript - 日期比较 JavaScript

javascript - CSS 转换在 ASP.NET Web 窗体中不起作用

jquery $(this).id 返回未定义