0

Blur()を呼び出すことで閉じられるドロップダウンがあります。ドロップダウン以外の場所をクリックすると、閉じられるはずです。

今、私は関数を追加したいので、他の場所をクリックすると、ドロップダウンは、呼び出されたdivをクリックしない限り閉じられます<div class="changeask"></div>

$(document).ready(function () {
    $(document).delegate("*", "mousedown touchend", function (e) {
        var target = $(e.target).closest("div.select2-container").get(0), attr;
        if (target) {
            $(document).find("div.select2-container-active").each(function () {
                if (this !== target ) $(this).data("select2").blur();
            });
        } else {
            target = $(e.target).closest("div.select2-drop").get(0);
            var changeask = $("div.changeask");
            $(document).find("div.select2-drop-active").each(function () {
                if (this !== target && this !== changeask) $(this).data("select2").blur();
            });
        }

これが私が今持っているコードです...私は多くの方法を試しましたが、ドロップダウン以外の場所をクリックすると閉じます。

何か案は?

私はこのようにコードを修正しようとしました:

$(document).ready(function () {
    $(document).delegate("*", "mousedown touchend", function (e) {
        var target = $(e.target).closest("div.select2-container").get(0), attr;
        var changeask = $(e.target).closest('.changeask').length != 0;

        if (target) {
            $(document).find("div.select2-container-active").each(function () {
                if (this !== target && this!== changeask ) $(this).data("select2").blur();
            });
        } else {
            target = $(e.target).closest("div.select2-drop").get(0);
            $(document).find("div.select2-drop-active").each(function () {
                if (this !== target && this!== changeask) $(this).data("select2").blur();
            });
        }

しかし、まだ機能しません...助けてくれてありがとう..本当に感謝しています

4

2 に答える 2

4

changeask div内でクリックが発生したかどうかを確認するのはどうですか

$(document).click(function(e){
   if($(e.target).closest('.changeask').length != 0) return false;
   $('.changeask').hide();
});
于 2012-11-07T06:53:20.923 に答える
1

ドロップダウンまたは changeask div ではない要素でクリックが発生した場合にのみ、イベントのトリガーを試みることができます。

$(document).on("mousedown touchend","*:not(.changeask, .yourselect)",function(e){
...
})
于 2012-11-07T06:58:21.287 に答える