Захват событий щелчка и нажатия клавиш в Javascript, переопределить поведение по умолчанию? - PullRequest
0 голосов
/ 08 августа 2011

Я написал некоторый код JavaScript, используя jQuery, который слушает, как пользователь щелкает мышью по разным частям моей страницы, удерживая нажатой клавишу Shift.

У меня есть таблица на моей странице. Идея заключается в том, что пользователь может выбрать строки в таблице, щелкнув по ним. Пользователь может выбрать несколько строк, щелкнув одну строку, удерживая нажатой клавишу Shift, и щелкнув другую строку. (Это то, как пользователь ожидает выбрать несколько строк, но удерживая клавишу Shift, верно?)

В любом случае, мой код работает в Internet Explorer, но у меня проблема. Мой код читает выбор пользователей, но браузер одновременно выделяет текст между двумя точками мыши.

Как я могу сделать так, чтобы мой код мог выбирать строки на основе кликов пользователя, а браузер не выделял текст?

Обновление Я попробовал следующий код:
$('tr').bind('mousedown',function() { return false; } );

При наличии этого кода на моей странице, когда я щелкаю одну строку, удерживая нажатой клавишу Shift и щелкаю другую строку, текст между двумя строками подсвечивается. Это то, что я пытаюсь подавить. Обратите внимание, что текст выделяется до Я отпускаю кнопку мыши.

Обновление № 2 Я попробовал следующий код:

   $('tr').bind('mousedown',function(e) { 
   e.preventDefault();
   return false;
   });

К сожалению, это, похоже, ничего не делает.

Ответы [ 3 ]

1 голос
/ 08 августа 2011

Это событие mousedown , которое вы хотите подавить.

Посмотрите на event.stopPropogation () и event.preventDefault () .

0 голосов
/ 08 августа 2011

Попробуйте это

$(function(){

  $("tableSelector").bind('selectstart mousedown',function () { 
      return false; 
  });

});
0 голосов
/ 08 августа 2011

Возвращаемое значение обработчика событий игнорируется спецификацией (jQuery может потребовать дополнительных вещей).

Возможно, вы ищете preventDefault и returnValue (последний был придуман именно потому, что возвращаемый результатзначение обработчика игнорируется).

Вы также можете посмотреть расширение свойства CSS3 -moz-user-select: none.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...