Отключить действие одним кликом на Ctrl Click - PullRequest
1 голос
/ 19 января 2011

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

$('#demo1').click(function(e) {
  if(e.ctrlKey  == true) {
    alert("control click");
  } 
  else {
    alert("normal click");
        $("#demo1").bind('select_node.jstree', function(event, data) {
        var url = data.rslt.obj.children("a:eq(0)").attr("href"); 
        $('.ui-layout-center').load(url);
        });
  } 
}); 

Ответы [ 3 ]

2 голосов
/ 19 января 2011

Чек e.ctrlKey.

1 голос
/ 12 августа 2011
if ( e.ctrlKey || e.metaKey )
{
   /* do your click thing (e.g. open-in-new-window) */
   window.open( $(this).attr('data-url') );
   return;
}
else
{
   /* do your regular thing (e.g. go to another page) */
   window.location.href = $(this).attr('data-url');
}

для части связывания, может быть e.preventDefault () ;помогает?

И: попробуйте вернуть false в приведенном выше коде, чтобы предотвратить "всплывание" событий.

0 голосов
/ 19 января 2011

Я определенно не настолько знаком (только недавно я начал работать в jquery), но я могу предотвратить дефолт, и http://plugins.jquery.com/plugin-tags/ctrl-click вам вообще поможет?

...