以下是我要替换的代码块:
$(document).ready(function () {
$(".button-purple").click(function () {
interval = $(this).attr('id');
name = $(this.attr('name');
if(Number($(this).val()) === 0) {
if(name == 'static') {
do this
}
else {
do this
}
}
else {
do this
}
});
});
我找不到任何关于尝试替换该功能的文档,因为它未命名。是否有可能替换整个javascript文件+删除加载它/插入我自己的脚本的行?非常感谢我能得到的任何帮助。
答案 0 :(得分:0)
我不知道tampermonkey
,但你可以试试这个:
function chickHandler() {
interval = $(this).attr('id');
name = $(this.attr('name');
if (Number($(this).val()) === 0) {
if (name == 'static') {
do this
} else {
do this
}
} else {
do this
}
}
}
function onReadyHandler() {
$(".button-purple").click(chickHandler);
}
$(document).ready(onReadyHandler);
当您执行.click(function(){...})
之类的操作时,此处function
被称为回调。您必须将函数作为回调发送。没有必要匿名。
答案 1 :(得分:0)
如果您只想删除点击事件处理程序,请简单地说
var $element = $(".button-purple");
$element.off('click');
如果要删除所有事件处理程序,那么您首先必须找出所有事件处理程序的存在,然后迭代删除它们。
var element = $element[0]; //Make sure the element is a DOM object and not jQuery Object.
// Use this line if you're using jQuery 1.8+
var attachedEvents = $._data(element,'events');
// Use this line if you're using jQuery < 1.8
var attachedEvents = $(element).data('events'); //Here you can also replace $(element) with $element as declared above.
for(var event in attachedEvents){
$element.off(event);
}
更新:
在您完成删除所有必需的现有处理程序后,您只需添加自己的事件处理程序(使用.on()
API)。
只需定义你的功能。
function yourFunction(){ /* your code */};
$element.on('click', yourFunction);
更新2:
由于您只想删除click事件处理程序,因此这是最简单的代码,可以满足您的需求。
$(".button-purple").off('click').on('click', yourFunction);