我怎样才能制作一个“;reverse preventDefault”;在jQuery中

How can I make a "reverse preventDefault" in jQuery?

本文关键字:reverse 一个 preventDefault jQuery      更新时间:2023-09-26

在《私人物流:隐私敏感日历》、《Todo》和《个人信息管理》中,输入的数据可以点击编辑,并且支持输入链接为<a href="。。。或者输入将被链接的URL。

这很有效,但当有人点击链接时会出现问题。所需的行为是打开链接,而不是将文本片段置于编辑模式,这与event.preventDefault()' or '...return false;}实现的常见模式相反。(点击元素上链接之外的按钮应该会将包含的元素置于编辑模式,就像一个没有链接的容器一样。)

如何使用jQuery反转更常见的模式 ?我现在最好的猜测是尝试对事件目标进行反省,看看它是否是一个锚。但这只是一个最好的猜测;我已经看到了很多模式的例子,这些模式将取消加载另一个页面的链接,但执行将容器置于编辑模式的添加Ajax功能;我不确定我是否看到了这种模式的反面,这种模式会跟随链接,而不会将容器置于编辑模式。

我也看到了一种通过在同一页面中加载链接来回避问题的方法,但只有在实现等方面存在棘手问题时,我才愿意采用这种解决方案。

一般来说,你不想清理你的粗笔画,相反,不要做出如此粗的笔画。在运行e.preventDefault()之前,请使用if语句。

类似于:

var preventedLinks = $('a.preventthislink');
$('a').click(function(e){
    if ($(this).index(preventedLinks) != -1) {
       e.preventDefault();
    }
});

您也可以只更改防止默认的类:

$(document).ready(function(){
    $('.blue').removeClass('blue').addClass('green');
});