Отмените выбор, когда пользователь дважды щелкнет в любом месте, используя jQuery - PullRequest
3 голосов
/ 22 мая 2011

Как вы знаете, когда пользователь дважды щелкает где-то , Проводник пытается выбрать ближайшие объекты (например, текст, строку таблицы и т. Д.), Как показано на рисунке ниже: enter image description here

Пользователь может:

  • выделить любой текст одним щелчком мыши

Пользователь не может

  • выбрать любой объект с помощью двойногощелкните (другими словами, когда пользователь дважды щелкает по списку, jquery должен отменить выбор выделенная область )

Так как я могу это сделать?Надеюсь, что все понятно.

Примечание: Я использую операцию двойного щелчка для ввода элемента.

Ответы [ 2 ]

5 голосов
/ 22 мая 2011

Я забыл, это один из тех крайних случаев, когда действие по умолчанию нельзя отменить в событии.В этом случае вы можете использовать подход CSS для Firefox и Chrome:

-moz-user-select: none;
-webkit-user-select: none;

И для Opera / IE:

$("#mytable td").prop("unselectable", "on");  // jQuery 1.6+
$("#mytable td").attr("unselectable", "on");  // jQuery 1.5-

Если вы хотите, чтобы пользователь все еще имел возможность перетаскивать, вы можете поработать над решением, подобным этому:

$("#mytable td").bind("dblclick", function () {
    var $this = $(this);
    $this.prop("unselectable", "on").css({ 
        "moz-user-select" : "none", 
        "-webkit-user-select" : "none"
    });

    window.setTimeout(function () {
        var $this = $(this);
        $this.prop("unselectable", "").css({ 
            "moz-user-select" : "", 
            "-webkit-user-select" : ""
        });
    }, 0);
});
0 голосов
/ 22 мая 2011

выберите какой-нибудь случайный элемент и

$("#randsmallelement").focus();

, если это не сработает, попробуйте добавить

$("#randsmallelement).select();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...