Javascript 使jQuery放弃特定div类的操作

Javascript 使jQuery放弃特定div类的操作,javascript,jquery,html,jquery-ui,Javascript,Jquery,Html,Jquery Ui,我编写了一个jQuery(函数)来执行特定div类(a)的操作。当我们单击该div类中的超链接时,这些链接将在另一个div id(B)中打开。这里,我的问题是:我想在第一个div类(A)中禁用一个链接的函数 例如,当我们单击链接1时,如果div类(A)(假设1和2)中有两个超链接,那么它应该执行jQuery。当我们单击链接2时,不应该为该链接执行jquery。 注:这两个链接(link1和link2都属于同一个div类(A)) 我的jQuery函数如下所示 $('.div-class(A) a'

我编写了一个jQuery(函数)来执行特定div类(a)的操作。当我们单击该div类中的超链接时,这些链接将在另一个div id(B)中打开。这里,我的问题是:我想在第一个div类(A)中禁用一个链接的函数

例如,当我们单击链接1时,如果div类(A)(假设1和2)中有两个超链接,那么它应该执行jQuery。当我们单击链接2时,不应该为该链接执行jquery。 注:这两个链接(link1和link2都属于同一个div类(A))

我的jQuery函数如下所示

$('.div-class(A) a').click(function(){
var url = $(this).attr('href');
var height = $('#div-id(B)').height();
var width = $('#div-id(B)').width();
$('#div-id(B)').replaceWith( "'<object data="+url+" width="+width+" height="+height+"/>'" );
return false;
});
$('.div类(A)A')。单击(函数(){
var url=$(this.attr('href');
变量高度=$(“#div id(B)”).height();
var width=$(“#div id(B)”).width();
$(“#部门id(B)”。替换为(“”);
返回false;
});
我应该如何处理这个问题。我需要添加禁用功能吗??显然,我不应该使用.remove()->完全删除链接

有什么建议吗?

试试看

:非选择器

$('.div类(A)A:not(disabledLinkSelector)')。单击(函数(){
var url=$(this.attr('href');
变量高度=$(“#div id(B)”).height();
var width=$(“#div id(B)”).width();
$(“#部门id(B)”。替换为(“”);
返回false;
});
如果使用
.on()
绑定事件,则可以使用
.off()
解除绑定,如下所示:

更新以反映老年退休金计划的实际需要(我认为)

$('.div class(A)A')。在('click',function()上{
var url=$(this.attr('href');
变量高度=$(“#div id(B)”).height();
var width=$(“#div id(B)”).width();
$(“#部门id(B)”。替换为(“”);
返回false;
});
//这将解除id为#sub-b的div中标记的单击操作的绑定
$(#sub-b a')。关闭('click');
需要注意的一点是,如果您使用事件委派,那么就不能以这种方式在内部div上使用off


如果要在第一次单击事件后将其删除,则可以解除绑定:

$('.div-class(A) a').click(function(){
    var url = $(this).attr('href');
    var height = $('#div-id(B)').height();
    var width = $('#div-id(B)').width();
    $('#div-id(B)').replaceWith( "'<object data="+url+" width="+width+" height="+height+"/>'" );
    $(this).off("click");
    return false;
});
$('.div类(A)A')。单击(函数(){
var url=$(this.attr('href');
变量高度=$(“#div id(B)”).height();
var width=$(“#div id(B)”).width();
$(“#部门id(B)”。替换为(“”);
$(此).off(“单击”);
返回false;
});
有关关闭的更多详细信息:

如果您只是想让div中的某些链接可以单击,只需添加一个适当的类并按其进行筛选:

$('.div-class(A) a.opensUpDivB').click(function(){
    var url = $(this).attr('href');
    var height = $('#div-id(B)').height();
    var width = $('#div-id(B)').width();
    $('#div-id(B)').replaceWith( "'<object data="+url+" width="+width+" height="+height+"/>'" );
    return false;
});
$('.div类(A)A.opensUpDivB')。单击(函数(){
var url=$(this.attr('href');
变量高度=$(“#div id(B)”).height();
var width=$(“#div id(B)”).width();
$(“#部门id(B)”。替换为(“”);
返回false;
});

此处禁用的链接选择器是什么??是不是div类的某个部分,我不想执行这个操作???我在主div类(A)中使用内部div类进行了测试。让我澄清一下,有一个主要的div类(A),因为我有两个子类,即div类(A)和div类(b)。现在应该对div类(a)执行查询,而不是对div类(b)执行查询。div类(b)中的链接应该正常工作,但是div类(a)中的链接应该执行查询操作。不要问我“为什么不能只指定div类(a)(子类)而不是div类(a)(主类)?”。这是我的要求..哈哈,我不会的,我明白有时候你必须用某种方式做一些事情。从你的解释中我真的无法理解你想要达到什么效果,对不起。你能链接到你所拥有的功能的演示吗?现在我不能展示演示,但我会向你解释清楚,假设我们有一个类(div-a),让我向你展示它是你给链接的一个类,应该打开div-Balso看看这个事件绑定:只第一次执行!可能是完美的
$('.div-class(A) a').click(function(){
    var url = $(this).attr('href');
    var height = $('#div-id(B)').height();
    var width = $('#div-id(B)').width();
    $('#div-id(B)').replaceWith( "'<object data="+url+" width="+width+" height="+height+"/>'" );
    $(this).off("click");
    return false;
});
$('.div-class(A) a.opensUpDivB').click(function(){
    var url = $(this).attr('href');
    var height = $('#div-id(B)').height();
    var width = $('#div-id(B)').width();
    $('#div-id(B)').replaceWith( "'<object data="+url+" width="+width+" height="+height+"/>'" );
    return false;
});