Javascript 禁用作为 asp.net 控件加载的元素的内联单击
Javascript to disable inline onclick for element loaded as asp.net control
我有一个 ASP.NET Webforms页面。在代码隐藏中,使用以下代码将 onclick
属性添加到标签控件和文本框控件 -
lblName.Attributes.Add("onClick", "javascript:location.href='NameForm.aspx?id=" & CStr(fnRetRow("name_id")) & "';")
txtName.Attributes.Add("onClick", "javascript:location.href='NameForm.aspx?id=" & CStr(fnRetRow("name_id")) & "';")
将生成以下 HTML 元素。(请注意,这些最终位于几个嵌套的<table><tr>
层中......元素。-
<td class="formlabel">
<span id="lblName" class="formlabel" onclick="javascript:location.href='NameForm.aspx?id=123';"></span>
</td>
<td class="forminputtxt">
<input id="txtName" class="forminputtxt" onclick="javascript:location.href='NameForm.aspx?id=123';">
</td>
问:如何在页面加载(或加载元素)后,在 aspx 页面中使用简单的 JavaScript 函数来禁用这些onclick
属性?
我尝试了以下选项但没有成功 -
<script language = "javascript">
window.onload = function() {
document.getElementById('lblName').onclick = ''; // option 1 for label
document.getElementById('txtName').onclick = ''; // option 1 for textbox
document.getElementById('lblName').removeAttribute("onclick"); //option 2 for label
document.getElementById('txtName').removeAttribute("onclick"); // option 2 for textbox
}
</script>
选项 2 无效。文本框的选项 1 不起作用。
标签的选项 1 确实以某种方式禁用了链接;但是,内联 JavaScript 仍显示在页面的最终 HTML 中。这是可以接受的,但并不理想。
在页面加载后禁用(或理想地删除)onclick
属性的简单方法是什么?
注意:JQuery 在页面中不可用。
为两个事件分配 null
document.getElementById('lblName').onclick = null;
document.getElementById('txtName').onclick = null;
它不会从页面的"查看源代码"中删除onclick="javascript:location.href=...
,因为这是服务器端代码呈现 HTML 的方式,但它将有效地禁用"onclick"事件。
演示:http://jsfiddle.net/qwE74/1/(请注意,在您的 HTML 中"SPAN"标签没有关闭,我为演示更正了它)
相关文章:
- 一个变化:在加载图像之前加载元素
- 移除/阻止将来在DOM中加载元素
- 在没有事件的情况下对具有特定类的已加载元素激发函数
- JQuery - 加载元素时的过程元素
- 从特定 Div JS 加载元素
- 使用javascript加载元素,然后应用它们javascript
- 聚合物 1.x:预加载元素属性
- 聚合物 1.x:预加载元素属性
- Django - 通过 AJAX 重新加载元素
- 在 jquery 插件中放置一个 Raphael “加载”元素
- 将事件绑定到页面上的动态加载元素
- jQuery-使用ajax加载元素
- 使用javascript动态加载元素的性能
- 如何在我们知道 ajax 加载元素的真实高度(带有图像)后立即执行脚本
- CSS在动态和直接通过服务器加载元素时出现负边距差异
- Jquery从外部脚本加载元素
- 在ajax中加载元素
- 在聚合物中加载数据后重新加载元素
- 如何使用js加载元素
- 一个接一个地加载元素——简单的jQuery