【问题标题】:Combining a mousedown event with a keydown event结合 mousedown 事件和 keydown 事件
【发布时间】:2013-12-31 03:09:09
【问题描述】:

我正在尝试将 keydown 事件与 mousedown 事件结合起来。基本上,我有一个聊天对话框,如果用户写入 2 个 div 之一(keydown 事件)或从 2 个下拉列表(mousedown)中的一个(或两个)中进行选择,我需要这些具有相同的确切功能。提前致谢。

代码(待合并):

$('#usermsg').add('#otherComments').keydown(function() { // When key pressed

和

$('#strategies').add('#whySwitch').mousedown(function() { // When mouse is clicked
  //function body
});

【问题讨论】:

    标签: jquery


    【解决方案1】:

    编写一个同时服务于 div 的函数并调用它,

    $('#usermsg').add('#otherComments').keydown(functionToCall);
    
    $('#strategies').add('#whySwitch').mousedown(functionToCall);
    

    /别忘了去掉 ()/

    那么函数实现:

    function functionToCall() {
        //body
    }
    

    【讨论】:

      【解决方案2】:

      实现回调函数并在两个事件中提供其名称作为回调函数参数。

      【讨论】:

        【解决方案3】:

        我不知道是否是正确的方法,但我每次都这样做:

        var keyPressed = new Object(); 
        keyPressed.mouse = 0; 
        keyPressed.keyboard = 0;
        

        keydown 和 keyup 一个事件,mouseup 和 mousedown 另一个事件

        keydown 和 mousedown 事件都将 keyPressed.mouse 或键盘设置为 1,keyup 和 mouseup 事件都将 keyPressed.mouse 或键盘设置为 0

        mousedown 和 and keydown 将调用一个函数来查看鼠标和键盘是否关闭并执行您想要的操作。

        【讨论】:

          【解决方案4】:

          为什么不

          $('#usermsg').add('#otherComments').keydown(yourFunction);
          

          和

          $('#strategies').add('#whySwitch').mousedown(yourFunction);
          

          然后

          function yourFunction() {
          // do what you want
          }
          

          ?

          【讨论】:

          • 这没有提供问题的答案。要批评或要求作者澄清,请在其帖子下方发表评论。
          • @mishik 这个 DO 提供了一个正确的答案,检查接受的答案并与我的比较,我之前也写过但没有运气
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2016-06-06
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-08-29
          • 2014-10-18
          • 1970-01-01
          相关资源
          最近更新 更多