Если вы действительно хотите отключить выделение при двойном щелчке, а не просто удалить выделение впоследствии (выглядит мне некрасиво), вам нужно return false
во втором событии mousedown (ondblclick не будет работать, потому что выбор сделан на основании).
** Если кто-то вообще не хочет выбирать, лучшее решение - использовать CSS user-select : none;
, как предложил Маурицио Баттагини.
// 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;
});
});
Демонстрация здесь
Важное замечание: Я установил чувствительность на 500 мс, но Чувствительность к двойному щелчку (максимальное время между щелчками, которое определяется как двойной щелчок) может варьироваться в зависимости от операционной системы и браузера и часто настраивается пользователем. - api.jquery.com
Протестировано в Chrome и IE11.