我知道标题并不是在说我想做什么,这可能会造成混淆或描述性不足,因此,如果有人知道用更好的方法来解释标题,那就说出来吧!
我有这种情况:
<div id="selectable2" class="dd-container">
<div class="dd-select">
<input class="dd-selected-value" type="hidden" name="information2" value="something">
<a class="dd-selected">
SOME TEXT
</a>
</div>
<ul class="dd-options dd-click-off-close">
<li>
**<a class="dd-option dd-option-selected">**
<input class="dd-option-value" type="hidden" value="something">
SOME TEXT
</a>
</li>
</ul>
</div>
在这不是我生成的代码中,我有一个选择,前一个程序员检查一些数据,当选择一个选项时,它会激活如下功能:
$('.dd-option').click(CheckFunction);
在单击此标签(在select内)时激活:
**<a class="dd-option dd-option-selected">**
所以我要做的就是复制那个选择,我已经做了,但是我不希望它像其他选择一样激活该功能。
我重复了这样的选择:
var $options = $("#selectable1 > option").clone();
$('#selectable2').append($options);
所以我和另一个具有相同类的内容具有相同的内容,所以在jquery中是否有办法让我要向所有函数添加该函数,但选择ID为“ selectable2”的函数除外?
类似这样的东西:
$(".dd-option:not('#selectable2')").click(CheckFunction);
但是这是不可能的,因为select是其ID而不是标签<a>
的ID,标签**<a class="dd-option dd-option-selected">**
是该类选择并添加了单击功能的标签:
<a>
如果不可能,如何在函数中一次检查单击的标签CheckFunction (event) {
if(event.parent.id != "selectable2"){
//function code
}
}
的父ID是否为“ selectable2”,所以我知道我不希望该代码在从以下位置执行时执行选择。
类似这样的东西:
db.hello.aggregate([
{$match:{"salary": null}},
{$group: {
"$and":[
{_id : {$nin : ["salary","worker_id"]}},
{_id: '$$ROOT'}
],
count: {$sum: 1}}},
{ $sort:{"count":1}},
{ $limit : 50 }
],
{allowDiskUse: true}
)
我希望自己能很好地解释自己。有任何问题,请问我!
答案 0 :(得分:1)
尝试一下:克隆后,您可以在选项中添加一个类,并从点击处理程序中过滤这些元素
var $options = $("#selectable1 > option").clone();
$options.addClass('NoClick');
$('#selectable2').append($options);
jQuery点击处理程序
$(document).on("click",".dd-option:not(.NoClick)",CheckFunction);