Должен отменить щелчок/события mouseUp, когда дважды щелкают по обнаруженному событию

Если у вас есть курсор на метод, то CTRL + SHIFT + I отобразит реализацию метода. Если метод является методом interface, то вы можете использовать стрелки вверх и вниз для циклического перебора реализаций:

Map<String, Integer> m = ...
m.contains|Key("Wibble");

Где | находится (например) там, где находится ваш курсор.

43
задан IAdapter 1 July 2009 в 07:26
поделиться

4 ответа

Стандарты

XInclude - единственный стандарт с любым уровнем поддержки.

  • Несколько редакторов XML, включая Oxygen и xmlspy ] поддерживают его.
  • Несколько XML-анализаторов, включая Xerces , также поддерживают его, и есть также порты .net.
  • Некоторые инструменты XML, такие как Saxon , поддерживают его , как для Java, так и для .net .

В статье Википедии о XInclude есть несколько хороших примеров использования.

XLink является косвенно связанным стандартом , не совсем для включения документов, а больше для цитирования частей в других документах. Он плохо поддерживается.

Альтернативы

Если вас беспокоит размер, есть несколько способов:

  • Использовать потоковый XML-процессор ,
77
ответ дан 26 November 2019 в 22:33
поделиться

Техника, описанная в других ответах, известна как debouncing .

7
ответ дан 26 November 2019 в 22:33
поделиться

Раймонд Чен обсудил некоторые последствия однократного или двойного щелчка - хотя он говорит в контексте Windows, то, что он говорит, имеет отношение к дизайн пользовательского интерфейса на основе браузера.

По сути, действие, выполняемое при двойном щелчке, должно быть логичным, что нужно сделать после одного щелчка. Так, например, в пользовательском интерфейсе рабочего стола один щелчок выбирает элемент, и двойной щелчок открывает его (например, открывает файл или запускает приложение). Пользователь в любом случае должен будет выбрать файл, чтобы открыть его, поэтому не имеет значения, что действие одиночного щелчка выполняется перед действием двойного щелчка.

Если у вас есть компонент пользовательского интерфейса, действие двойного щелчка которого полностью не связано с действием двойного щелчка. Действие одиночного щелчка, такое, что становится необходимым предотвратить действие одиночного щелчка, как только система понимает, что на самом деле это был двойной щелчок, тогда вам действительно следует переосмыслить свой дизайн. Пользователи сочтут это неудобным и противоречащим интуиции, поскольку он не будет действовать так, как они привыкли действовать.

Если вы все еще хотите пойти по этому пути, тогда вам придется либо использовать технику противодействия (в этом случае все действия по одиночному щелчку будут отложены), либо реализовать какой-то механизм, посредством которого обработчик двойного щелчка отменяет работу, выполненную обработчиком одиночного щелчка.

Вы также должны знать что некоторые пользователи устанавливают очень долгое время двойного щелчка. У кого-то, например, руки с артритом, может быть время двойного щелчка более секунды, установленное в их системных настройках, поэтому метод устранения неполадок, основанный на некотором произвольном периоде времени по вашему выбору, сделает ваш компонент пользовательского интерфейса недоступным для этих людей, если выполнение действия одиночного щелчка исключает выполнение действия двойного щелчка. Насколько мне известно, метод «отменить то, что только что произошло, одним щелчком мыши» - единственный жизнеспособный обходной путь для этого.

Вы также должны знать, что некоторые пользователи устанавливают очень долгое время двойного щелчка. У кого-то, например, руки с артритом, может быть время двойного щелчка более секунды, установленное в их системных настройках, поэтому метод устранения неполадок, основанный на некотором произвольном периоде времени по вашему выбору, сделает ваш компонент пользовательского интерфейса недоступным для этих людей, если выполнение действия одиночного щелчка исключает выполнение действия двойного щелчка. Насколько мне известно, метод «отменить то, что только что произошло, одним щелчком мыши» - единственный жизнеспособный обходной путь для этого.

Вы также должны знать, что некоторые пользователи устанавливают очень долгое время двойного щелчка. У кого-то, например, руки с артритом, может быть время двойного щелчка более секунды, установленное в их системных настройках, поэтому метод устранения неполадок, основанный на некотором произвольном периоде времени по вашему выбору, сделает ваш компонент пользовательского интерфейса недоступным для этих людей, если выполнение действия одиночного щелчка исключает выполнение действия двойного щелчка. Насколько мне известно, метод «отменить то, что только что произошло, одним щелчком мыши» - единственный жизнеспособный обходной путь для этого.

таким образом, метод устранения неполадок, основанный на произвольном выбранном вами периоде времени, сделает ваш компонент пользовательского интерфейса недоступным для этих людей, если выполнение действия с одним щелчком исключает выполнение действия с двойным щелчком. Насколько мне известно, метод «отменить то, что только что произошло, одним щелчком мыши» - единственный жизнеспособный обходной путь для этого.

таким образом, метод устранения неполадок, основанный на произвольном выбранном вами периоде времени, сделает ваш компонент пользовательского интерфейса недоступным для этих людей, если выполнение действия с одним щелчком исключает выполнение действия с двойным щелчком. Насколько мне известно, метод «отменить то, что только что произошло, одним щелчком мыши» - единственный жизнеспособный обходной путь для этого.

33
ответ дан 26 November 2019 в 22:33
поделиться

jQuery Sparkle предоставляет чистое элегантное решение для этого, реализуя пользовательское событие одного щелчка. Сделав это, вы можете использовать его как любое другое событие, например:

$('#el').singleclick(function(){});
// or event
$('#el').bind('singleclick', function(){});

Он также предоставляет пользовательские события для последнего и первого щелчков в серии щелчков. А пользовательское событие lastclick фактически передает количество щелчков обратно! Так что вы можете сделать вот что!

$('#el').lastclick(function(event,clicks){
    if ( clicks === 3 ) alert('Tripple Click!');
});

Вы можете найти исходный код для определения пользовательского события здесь.

Это открытый исходный текст под лицензией AGPL, так что вы можете смело брать из него все, что вам нужно! :-) Он также активно развивается изо дня в день, так что вы никогда не будете испытывать недостатка в поддержке.

Но самое главное - это DRY Plugin/Effect Framework, который позволит вам разрабатывать плагины и расширения намного проще. Надеюсь, это поможет вам достичь этой цели!

1
ответ дан 26 November 2019 в 22:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: