在绑定或删除点击时 ATTR 失败
onbind or remove onclick attr failed
警报不会触发,因为 openClose() 函数丢失并抛出错误。
<div class="spoilertop" onclick="openClose('cbd6c32c3118dbbdc3fbdc37e0805292')">
如何解绑或更好地删除 onclick 标签?
$('.spoilertop').click(function(){
$(this).attr('onclick','').unbind('click');
alert('f');
})
我尝试了$(this).attr('onclick','').unbind('click');
和e.preventDefault(),但不起作用。
您的代码有效 - onclick
属性在第一次单击触发后被删除。但是,onclick
在 jQuery 中的click
之前触发,因此openClose
始终在第一次触发,请参阅此示例。您会看到foo
提醒仅在首次点击时显示。
为了避免这种情况,您需要在加载时从元素中删除该属性,或者更好的是,将其从 HTML 中完全删除。
要在加载时将其从.spoliertop
元素中删除,您可以执行以下操作:
$(function() {
$('.spoilertop').attr('onclick','').unbind('click');
});
$('.spoilertop').click(function(){
$(this).unbind('click');
$(this).removeAttr('onclick');
alert('Off');
});
演示
相关文章:
- 当json解析空响应时,Whatwg-Fetch失败,我该如何防止它
- JsFiddle在分叉后描述失败
- 使用AngularJs时,如何在img标记具有src-attr时设置数据src
- 为什么不'当单元测试出现解析错误时,我的因果报应测试会失败
- 当一些承诺失败时,如何继续使用$q.all()
- 失败:等待Protractor与页面同步时出错:“”;在窗口上找不到角度”;
- 在Jquery中单击传播失败
- 网页上失败的javascript会导致所有其他脚本失败
- 带有对象解析的响应javascript ajax失败
- 一台特定计算机的Ajax请求数据未定义/失败
- jQuery中的attr()是否强制小写
- Nodejs服务器:加载资源失败:服务器的响应状态为404(未找到)
- jQuery.getJSON失败,语法错误
- JQuery .attr();
- ng disabled在放入多个表达式时失败
- Jasmine单元测试在监视服务方法时失败
- jQuery分页下一页和上一页按钮在点击零或超过最后一页后失败
- jQuery的attr()在chrome中逐步调试时失败
- 在绑定或删除点击时 ATTR 失败
- 使用attr()将样式应用于原始html失败