-3

我有一个 div,点击它时会切换。

现在我的问题是当我在 div 中放置一个选项选择框时,每当我想选择 div 切换并因此关闭的东西时。

无论如何要解决这个问题?

HTML:

 <div class="click>
 <div class="red">
 <select>
 <option>
 OPTION1
 </option>
 <option>
 OPTION2
 </option>
 </select>
 </div>
 </div>

查询:

$(".click").click(function(){
   $(this).children("div").toggle();
});
4

2 回答 2

1

还在选择元素上添加一个点击处理程序

$(".click").click(function(){
   $(this).children("div").toggle();
});
$(".click select").click(function(event){
  event.stopPropagation();  
});

http://jsfiddle.net/2MkHc/

于 2013-10-18T18:26:21.060 回答
1

这个逻辑怎么样。

1) 使用 . 获取被点击的元素event.target

2) 使用.prop("tagname")获取被点击的标记名。

$(".click").click(function (e) {
    if ($(e.target).prop("tagName") != "SELECT") {
        $(this).children("div").toggle();
    }
});

JSFiddle

希望你喜欢这种方法。

于 2013-10-18T18:35:00.887 回答