相关疑难解决方法(0)

jQuery事件Keypress:按下了哪个键?

使用jQuery,当我绑定到按键事件时,如何找出按下了哪个键?

$('#searchbox input').bind('keypress', function(e) {});
Run Code Online (Sandbox Code Playgroud)

我想在ENTER按下时触发提交.

[更新]

即使我发现(或者更好:一个)自己回答,似乎还有一些变异的空间;)

有没有之间的差异keyCodewhich-尤其是如果我只是在寻找ENTER,这永远不会是一个unicode关键?

有些浏览器提供一个属性而其他浏览器提供另一个属性吗?

javascript jquery events bind keypress

703
推荐指数
14
解决办法
76万
查看次数

JavaScript在粘贴事件上获取剪贴板数据(跨浏览器)

Web应用程序如何检测粘贴事件并检索要粘贴的数据?

我想在将文本粘贴到富文本编辑器之前删除HTML内容.

之后粘贴后清理文本有效,但问题是所有以前的格式都丢失了.例如,我可以在编辑器中编写一个句子并将其设为粗体,但是当我粘贴新文本时,所有格式都会丢失.我想只清理粘贴的文本,并保持以前的格式不变.

理想情况下,该解决方案应适用于所有现代浏览器(例如,MSIE,Gecko,Chrome和Safari).

请注意,MSIE有clipboardData.getData(),但我找不到其他浏览器的类似功能.

javascript clipboard cross-browser

281
推荐指数
10
解决办法
33万
查看次数

如何在使用jQuery的click事件期间检查是否按下了某个键?

我想用jQuery捕获一个click事件,并能够判断是否同时按下了一个键,这样我就可以根据keypress事件在回调函数中进行分支.

例如:

$("button").click(function() {
    if([KEYPRESSED WHILE CLICKED]) {
        // Do something...
    } else {
        // Do something different...
    }
});
Run Code Online (Sandbox Code Playgroud)

这有可能吗?如果可能的话怎么办呢?

keyboard jquery events click

102
推荐指数
4
解决办法
8万
查看次数

jQuery keypress,keydown,keyup black magic(Macs)背后的理论是什么?

我对keypress,keydownkeyup的各种行为感到困惑.似乎我错过了一个重要的文档,一个解释了这个三重奏的细微之处和细微差别.有人可以帮我弄清楚我需要阅读哪个文件才能更有效地使用这些事件吗?如果您需要详细信息,请参阅下文.

@ov:你让我展示一些代码,但这并不是我试图解决的代码中的特定问题.我正在尝试处理这些事件处理程序的行为,并要求了解它们的人指出一个好的文档.

我使用jQuery构建输入表单并将其插入到我的文档中.它工作得很好,大多数情况下.我希望表单像我在其中看到的大多数其他输入表单一样响应键盘:esc键应该忽略表单与单击取消按钮相同,并且因为表单上有一个<textarea>,cmd+ enter应该与单击时相同确定按钮.使用按键事件似乎很简单.问题是Chrome不会为密钥或+ 调用我的按键处理程序.它会激发+ 和+ 以及字母数字,但不是+ .esccmdenterctrlenteroptionentercmdenter

所以我会改用密钥.我得到KEYUPesc,和KEYUPcmd,和KEYUPenter,伟大的.但我没有得到KEYUPenter,而我按住键cmd.

第三次是魅力,你可能会认为keydown似乎工作,但有了keydown,你会得到重复键.我知道,你所要做的就是在第一次调用时解除处理程序的绑定,但三种不同的事件类型表现得如此不同似乎很奇怪.为什么是这样?那里有一个明显的文件,我显然还没读过吗?

macos jquery keypress keydown keyup

49
推荐指数
2
解决办法
3万
查看次数