Если вы действительно хотите отключить отбор на двойной щелчок, а не просто снять выделение впоследствии (выглядит некрасиво для меня), вам нужно return false
во втором событии mousedown (ondblclick не будет работать, потому что выбор сделан на mousedown).
** Если кто-то не хочет выбора вообще, лучшим решением является использование CSS user-select : none;
, как предложено Maurizio Battaghini.
// set to true if you want to disable also the triple click event
// works in Chrome, always disabled in IE11
var disable_triple_click = true;
// set a global var to save the timestamp of the last mousedown
var down = new Date().getTime();
var old_down = down;
jQuery(document).ready(function($)
{
$('#demo').on('mousedown', function(e)
{
var time = new Date().getTime();
if((time - down) < 500 &&
(disable_triple_click || (down - old_down) > 500))
{
old_down = down;
down = time;
e.preventDefault(); // just in case
return false; // mandatory
}
old_down = down;
down = time;
});
});
Live demo here
Важное замечание: я установил чувствительность к 500мс но Дважды щелкните чувствительность (максимальное время между щелчками, что детектируется как двойной щелчок) может варьироваться в зависимости от операционной системы и браузера и часто настраивается пользователем. - api.jquery.com
Протестировано в Chrome и IE11.
Зачем вы хотите это сделать? –
Не мое решение. Парень, которого я кодирую, так хочет. Вероятно, потому что страница является частью браузера и некоторых кнопок (divs with click events), которые увеличивают/уменьшают значения, привлекают пользователей к двойному щелчку, поскольку это быстрее, чем однократное их многократное использование. И если это выбирает материал, это раздражает и выглядит странно. – ThiefMaster
http://stackoverflow.com/questions/880512/prevent-text-selection-after-double-click – Aristoteles