【问题标题】:jQuery - keyup event as functionjQuery - keyup 事件作为函数
【发布时间】:2011-08-07 22:16:27
【问题描述】:

我发现了这个使用 keyup 事件的例子:

$(document).keyup(function(e) {

  if (e.keyCode == 27) { 
    //ESC
  }   

});

这对我有用,但我正在尝试为函数编辑这部分代码,如下所示:

$(function() {
    $('a.this_page').live('click', function () {  
      //simple function - after click on the link will make some action
    });
});

我正在尝试将代码的第一部分更新为代码的第二部分 - 我想通过链接上的 click 以及按下某个键后执行第二个示例中的操作...但我不确定,该怎么做..

谁能帮帮我,怎么做? 谢谢。

【问题讨论】:

  • 您能告诉我们总体目标吗?您是否希望拥有在用户按住键的同时单击鼠标时起作用的特殊功能,还是应该在单击之后、单击之前发生按键?还是应该通过单击或按键来工作?
  • 如果用户单击链接或单击键(按键),我希望我的“动作”工作

标签: javascript jquery events click key


【解决方案1】:

你可以使用bind():

$('body').bind('keyup click',
               function(e){
                   // stuff to do on 'click' and 'keyup' happens in here...
                   alert('woo! A : ' + e.type + ' happened!');
               });

JS Fiddle demo.

上述演示显然(我想...)假设您希望在keyupclick 事件上发生相同的事情。

参考资料:

【讨论】:

  • 谢谢,但这里有点问题 - 因为 - 我在页面上,如果用户会按下按钮(例如 ENTER),所以我想做一些操作,并且用户将点击具有特殊 ID 的链接,因此将执行与上述相同的操作 - 我不知道如何区分
  • 您希望仅在单击特定元素时触发操作?
  • 是的,我正在尝试执行以下操作 - 我的基本功能是 - 我在我的一个页面上有 <a href="bla bla" class="this_page">..</a> - 如果我要单击此链接,那么我想从我的发布(这对我有用)。现在我想添加第二个功能 - 如果我在页面上,<a href="bla bla" class="this_page">..</a> 在哪里,所以除了单击此链接并做一些事情之外,我想在用户按下某个键后从我的帖子中运行该操作
【解决方案2】:

您必须为函数命名并将其设置为两个事件的事件处理程序,例如:

$(function () {
  function handleAction () {
    // do something
  }
  $(document).keyup(handleAction);
  $('a').live('click', handleAction);
});

【讨论】:

  • 不需要这样的全局函数。
猜你喜欢
  • 2012-08-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-10-14
相关资源
最近更新 更多