在我的wordpress网站上,我有一个由安装的插件管理的日历页面,其中包含一些基本链接<a class="mylink" href="http://myurl.com">Some text</a>
。
在该插件的某个地方有一些Javascript代码,一旦用户点击其中一个链接就会触发AJAX调用。好吧,我不希望这种情况发生。当然,我不想编辑插件核心文件。
我想要做的是简单地创建一个脚本,删除绑定到这些链接的任何操作,这样一旦用户点击其中一个链接,就不会发生任何事情。
所以,我尝试使用jQuery方法preventDefault()
,stopPropagation()
和stopImmediatePropagation()
,但都没有。
jQuery(document).on('click','.mylink', function(event){
event.preventDefault();
event.stopImmediatePropagation();
event.stopPropagation();
//do the stuff i want here
});
我缺少什么?
答案 0 :(得分:2)
很像Clear()
函数可用于连接事件,您可以使用off()
函数删除事件处理程序:
CREATE TABLE IF NOT EXISTS entries(
subject_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
subject_name VARCHAR(30) NOT NULL,
level_of_entry VARCHAR(10) NOT NULL,
exam_board VARCHAR(10) NOT NULL,
date_of_exam DATETIME NOT NULL,
PRIMARY KEY (date_of_exam),
FOREIGN KEY (subject_id) REFERENCES subjects(subject_id),
FOREIGN KEY (subject_name) REFERENCES subjects(subject_name),
FOREIGN KEY (level_of_entry) REFERENCES subjects(level_of_entry),
FOREIGN KEY (exam_board) REFERENCES subjects(exam_board)
);
您只需要确保在创建初始事件处理程序后执行此操作。
答案 1 :(得分:1)
在您的代码中,您只需为click事件添加另一个处理程序,而不是替换原始处理程序。您需要取消绑定这些链接上的点击事件。执行此操作的代码:
jQuery('a.mylink').unbind('click')