相关疑难解决方法(0)

jQuery:如何捕获keydown +鼠标点击事件?

我有一个div元素.div当按下alt键(keyCode = 17)时,我需要点击鼠标.

这是我必须抓住关键的新闻:

// Html
<div id="targetDiv">I want to put a ding in the universe.</div>
// Java-script
$(document).ready(function(){
    $(window).bind('keydown', function(event){
        if ( 17 == event.keyCode ) {
           // How to catch mouse click on $('#targetDiv') ?
        }
    });
});

按下alt键时如何捕捉鼠标点击div?

jquery keypress keydown

10
推荐指数
1
解决办法
2万
查看次数

jQuery:如何在表单提交上使用修饰键?

假设我有一个看起来像这样的表单:

[ Animal name input field ] Add button

如果我输入名称并按Enter键,则会将具有给定名称的动物添加到表中.工作良好.我现在想要的是调用当前的工作方式"快速添加"并添加一个名为"慢添加"的新功能,我不太清楚该怎么做.基本上我想要的是,如果例如在输入或按下按钮时按住shift键,我希望表单提交方法做一些稍微不同的事情.在我的情况下,我希望它打开一个表格,在添加到表格之前可以添加有关动物的更多细节.

问题是我不太清楚如何做到这一点.我尝试console.info(eventData)在当前的提交函数中添加一个FireBug ,我发现它eventData包含一个altKey,shiftKey和controlKey属性,但即使我按下这些键,它们也总是未定义.

那么,当提交表单时按下某些修饰键时,是否有人知道如何在提交处理程序中执行一些特殊操作?


临时解决方案

结束时忽略了submit-button-shift-click-feature,而只是将快速添加功能作为shift-enter-in-input-fields.实现了这样的事情:

$('#new-task')
    .submit(onNewAnimal)
    .keypress(onNewAnimal);


function onNewAnimal(event)
{
    if(event.type == 'keypress' && event.which != 13)
        return true;

    if(event.shiftKey)
    {
        // Quick add
    }
    else
    {
        // Open slow add dialog
    }

    return false;
}
Run Code Online (Sandbox Code Playgroud)

如果有更好的方法仍然好奇,但在那之前,这就是我所拥有的.也许它可以帮助别人:)

html javascript forms jquery events

5
推荐指数
1
解决办法
1185
查看次数

如何判断事件是否来自右Ctrl键?

我在Javascript中有一个事件监听器,我可以判断一个关键事件是否是Ctrl (e.keyCode == 17),但我怎么知道这个Ctrl来自右边的还是左边的?

javascript

5
推荐指数
2
解决办法
1155
查看次数

标签 统计

javascript ×2

jquery ×2

events ×1

forms ×1

html ×1

keydown ×1

keypress ×1