检测javascript中按钮的按下方式

检测javascript中按钮的按下方式,javascript,Javascript,有没有办法检测按钮是如何被按下的 鼠标单击//鼠标事件 通过选项卡高亮显示,然后输入键//按键事件 触摸(手机)//触摸事件 有没有一种简单的javascript方法可以检测到这一点?或者我需要为单击、输入和触摸添加事件侦听器吗?我想获取表单提交的数据。谢谢根据我的经验,“输入”和“触摸”也会触发“点击” 我认为在“单击”中添加一个事件监听器来处理所有需要的事件是安全的 试试这里: $('input')。单击(函数(){ 警报(“点击”); }); 单击并触摸您可以在onclick的帮助下

有没有办法检测按钮是如何被按下的

  • 鼠标单击//鼠标事件
  • 通过选项卡高亮显示,然后输入键//按键事件
  • 触摸(手机)//触摸事件

有没有一种简单的javascript方法可以检测到这一点?或者我需要为单击、输入和触摸添加事件侦听器吗?我想获取表单提交的数据。谢谢

根据我的经验,“输入”和“触摸”也会触发“点击”

我认为在“单击”中添加一个事件监听器来处理所有需要的事件是安全的

试试这里:


$('input')。单击(函数(){
警报(“点击”);
});

单击并触摸您可以在onclick的帮助下进行操作
但对于突出显示的via选项卡,然后输入键,您必须使用单独的代码

通过选项卡高亮显示,然后输入键//按键事件


由于休息,您将很容易检测到。

所有
鼠标向下
单击
按键
事件将仅触发
单击
事件。不需要有三个不同的事件侦听器

如果您拥有所有三个事件处理程序,那么执行顺序将有所不同

按键
上,首先
按键
将启动,然后
单击

如果您有
mousedown
,则首先会触发
mousedown
,然后单击
click

document.querySelector("#button").addEventListener("click", function(event) {
  console.log("click");
}, false);

document.querySelector("#button").addEventListener("mousedown", function(event) {
  console.log("mousedown");
}, false);

document.querySelector("#button").addEventListener("keypress", function(event) {
  var keyCode = event.keyCode || event.which;
  if(keyCode===13) {
     console.log("enter pressed");
  }
}, false);

在演示中,您会注意到,所有内容都引用了结尾处的
单击
事件


所以最好只使用点击事件本身。

你说的“短javascript方式”是什么意思?我猜不出你为什么需要它。目的是什么?我很震惊输入触发点击!?!?我看了你的答案后测试了一下+1他们都会触发点击,但你不是在问如何检测哪个是哪个吗?@WhathaveYourtried是的,我只是给了+1个不正确的答案,因为我学到了一些新东西?@Deadpool,是的,为什么不:)因为按钮的任务是被“点击”,我只需要留下触摸,但到目前为止,这太棒了!你能告诉我为什么屏幕位置在回车时返回0吗?是本机javascript行为吗?@Deadpool当按下或单击元素时,事件可能正好发生在该位置。所以它在回车时返回(0,0)。
$('a').click(function(e) {
    console.log(e);

    // Screen Positions returns 0 on enter
    if( e.screenX == 0 && e.screenY == 0 ) {
        alert('Enter');
    }
    else if( e.type == "click" ) {
        alert('click');
    }
});
document.querySelector("#button").addEventListener("click", function(event) {
  console.log("click");
}, false);

document.querySelector("#button").addEventListener("mousedown", function(event) {
  console.log("mousedown");
}, false);

document.querySelector("#button").addEventListener("keypress", function(event) {
  var keyCode = event.keyCode || event.which;
  if(keyCode===13) {
     console.log("enter pressed");
  }
}, false);