我正在编写一个greasemonkey脚本,但str.replace函数不起作用。
我正在尝试禁用 Google 搜索的 onmousedown 功能,我的想法是,通过将其替换为任何内容,它就会摆脱它。
这是他们正在使用的代码。
<a href="http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=5&ved=0CFIQFjAE&url=http%3A%2F%2Fswengineeringnotebook.blogspot.com%2F2010%2F01%2Fjquery-disable-default-event.html&ei=O0nJTqeKOeaosQKMyoBk&usg=AFQjCNHcR98HxCj8kdeVLlBiADbelsvEgw" class="l" onmousedown="return rwt(this,'','','','5','AFQjCNHcR98HxCj8kdeVLlBiADbelsvEgw','','0CFIQFjAE')">My Software Engineering Notebook: <em>JQuery Disable Default</em> Event</a>
如您所见,他们的链接中有 onmousedown。
这是我用来摆脱它的方法。
$('body').text().replace(/onmousedown=\"return rwt\(.*?\)\"/gi, "");
我还尝试过仅使用“return false;”重新定义 rwt 函数。但这似乎也没有效果。
任何关于如何实现这一点的想法将不胜感激。
谢谢。
最佳答案
我不确定我是否收到你的问题,但当你用 jQuery 标记并且你想删除 onmousedown 属性时,我会这样做:
$("a").removeAttr('onmousedown');
如果不行,也许你可以尝试解除绑定(bind):
$("a").unbind('mousedown');
关于Javascript 替换不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8203772/