[英]Stop propagation of a JavaScript event defined using Attributes in ASP.Net
我已经在ASP.Net页面的代码隐藏中为链接定义了客户端单击事件。 这段代码在VB.Net中如下所示,它使用链接控制的Attributes
集合来添加此客户端事件。 该事件正在按预期执行,但是我无法获得用于停止事件传播的'event'参数的句柄。
题
如何访问event
参数,以便可以调用stopPropagation
方法来防止触发父div的click事件?
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
参数,它起作用了。 我添加了event.stopPropagation();
新代码event.stopPropagation();
在代码后面的onclick
定义中的OnEmployeeClick
方法调用之前。
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
) event
。
那意味着
<div onclick=alert(event.type)> Test </div>
应该在单击时提醒“单击”,并从“魔术” event
参数获取该事件类型字符串。
在FF,Ch,IE9中测试。
观看现场演示以测试您自己的浏览器是否兼容: http : //pagedemos.com/s87ynjsgc7pe
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.