标签: jquery-events

jQuery多个事件触发相同的功能

有没有一种方法有keyup,keypress,blur,和change事件调用同一个函数在一行或做我必须做的分别呢?

我遇到的问题是我需要使用数据库查找验证一些数据,并且希望确保在任何情况下都不会错过验证,无论是键入还是粘贴到框中.

jquery events jquery-events

939
推荐指数
10
解决办法
57万
查看次数

如何使用jQuery检测按键盘输入?

我想检测用户是否按下了EnterjQuery.

这怎么可能?它需要插件吗?

编辑:看起来我需要使用该keypress()方法.

我想知道是否有人知道该命令是否存在浏览器问题 - 比如我是否应该了解任何浏览器兼容性问题?

javascript jquery enter keyboard-events jquery-events

696
推荐指数
9
解决办法
78万
查看次数

jQuery.click()vs onClick

我有一个巨大的jQuery应用程序,我正在使用以下两种方法进行点击事件.

第一种方法

HTML

<div id="myDiv">Some Content</div>
Run Code Online (Sandbox Code Playgroud)

jQuery的

$('#myDiv').click(function(){
    //Some code
});
Run Code Online (Sandbox Code Playgroud)

第二种方法

HTML

<div id="myDiv" onClick="divFunction()">Some Content</div>
Run Code Online (Sandbox Code Playgroud)

JavaScript函数调用

function divFunction(){
    //Some code
}
Run Code Online (Sandbox Code Playgroud)

我在我的应用程序中使用第一种或第二种方法.哪一个更好?性能更好?和标准?

html javascript jquery jquery-events

543
推荐指数
11
解决办法
130万
查看次数

如何使用纯JS或jQuery检测转义键?

可能重复:
使用jQuery的escape key的哪个键代码

如何在IE,Firefox和Chrome中检测转义按键?下面的代码适用于IE和警报27,但在Firefox中它会发出警报0

$('body').keypress(function(e){
    alert(e.which);
    if(e.which == 27){
        // Close my modal window
    }
});
Run Code Online (Sandbox Code Playgroud)

javascript jquery keyevent jquery-events

493
推荐指数
8
解决办法
46万
查看次数

jQuery回调图像加载(即使图像被缓存)

我想要做:

$("img").bind('load', function() {
  // do stuff
});
Run Code Online (Sandbox Code Playgroud)

但是从缓存加载图像时不会触发加载事件.jQuery文档提出了一个修复此问题的插件,但它不起作用

jquery image jquery-load jquery-events

282
推荐指数
8
解决办法
36万
查看次数

悬停子元素时触发HTML5 dragleave

我遇到的问题dragleave是当悬停该元素的子元素时会触发元素事件.此外,dragenter再次悬停父元素时不会触发.

我做了一个简化的小提琴:http://jsfiddle.net/pimvdb/HU6Mk/1/.

HTML:

<div id="drag" draggable="true">drag me</div>

<hr>

<div id="drop">
    drop here
    <p>child</p>
    parent
</div>
Run Code Online (Sandbox Code Playgroud)

使用以下JavaScript:

$('#drop').bind({
                 dragenter: function() {
                     $(this).addClass('red');
                 },

                 dragleave: function() {
                     $(this).removeClass('red');
                 }
                });

$('#drag').bind({
                 dragstart: function(e) {
                     e.allowedEffect = "copy";
                     e.setData("text/plain", "test");
                 }
                });
Run Code Online (Sandbox Code Playgroud)

它应该做的是通过在div那里拖动东西时使滴红色来通知用户.这样做有效,但是如果你拖入p孩子,那dragleave就会被激发而且div不再是红色.回到跌落div也不会再次变红.有必要完全移出掉落div并再次拖回它以使其变红.

dragleave拖入子元素时是否可以防止触发?

2017更新: TL; DR,查看CSS pointer-events: none;,如下面@ HD的答案中所述,适用于现代浏览器和IE11.

html javascript jquery drag-and-drop jquery-events

272
推荐指数
20
解决办法
7万
查看次数

jQuery单击事件多次触发

我试图用Javascript编写一个视频扑克游戏作为一种获取它的基础知识的方法,并且我遇到了jQuery点击事件处理程序多次触发的问题.

它们附在用于下注的按钮上,并且它适用于在比赛期间在第一手牌上下注(仅发射一次); 但是在投注秒针时,每次按下下注或下注按钮时,它都会触发点击事件两次(因此每次按下两次正确的金额).总的来说,它遵循这种模式,按下一次下注按钮时点击事件被触发的次数 - 其中序列的第i个术语是从游戏开始时第i个手的投注:1,2,4 ,7,11,16,22,29,37,46,对于任何值得的东西来说似乎是n(n + 1)/ 2 + 1 - 而且我还不够聪明,我用过OEIS.:)

这是使用单击事件处理程序的函数; 希望它很容易理解(如果没有,请告诉我,我也希望在这方面做得更好):

/** The following function keeps track of bet buttons that are pressed, until place button is pressed to place bet. **/
function pushingBetButtons() {
    $("#money").text("Money left: $" + player.money); // displays money player has left

    $(".bet").click(function() {
        var amount = 0; // holds the amount of money the player bet on this click
        if($(this).attr("id") == "bet1") { // the …
Run Code Online (Sandbox Code Playgroud)

javascript jquery click jquery-events

265
推荐指数
8
解决办法
31万
查看次数

用户按下jQuery事件在文本框中输入?

Jquery中是否有任何事件仅在用户点击文本框中的enter按钮时触发?或者任何可以添加的插件都包含此内容?如果没有,我将如何编写一个快速插件来执行此操作?

javascript jquery jquery-events

243
推荐指数
7
解决办法
30万
查看次数

在更改之前获取select(下拉列表)的值

我想要实现的是每当<select>下拉列表被更改时我想要更改前的下拉列表的值.我正在使用1.3.2版本的jquery并在更改事件上使用但是我在那里得到的值是在更改之后.

<select name="test">
<option value="stack">Stack</option>
<option value="overflow">Overflow</option>
<option value="my">My</option>
<option value="question">Question</option>
</select>
Run Code Online (Sandbox Code Playgroud)

让我们说当前选择My当我在onchange事件中将其更改为堆栈时(即当我将其更改为堆栈时),我希望它是先前的值,即我在这种情况下的预期.

怎么能实现这一目标?

编辑:在我的情况下,我在同一页面中有多个选择框,并希望同样的事情应用于所有这些.此外,我的所有选择都是在通过ajax加载页面后插入的.

javascript jquery jquery-events

224
推荐指数
5
解决办法
29万
查看次数

jQuery - 如何等待'resize'事件的'end'然后再执行一个动作?

所以我目前使用的东西如下:

$(window).resize(function(){resizedw();});
Run Code Online (Sandbox Code Playgroud)

但是在调整大小过程的过程中会多次调用它.是否可以在事件结束时捕获事件?

html javascript jquery resize jquery-events

222
推荐指数
8
解决办法
21万
查看次数