问题标签 [jquery-on]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
293 浏览

javascript - 构建 JQuery 事件处理的正确方法

目前我正在开发一个结合使用 PHP 和 JavaScript 的纸牌游戏应用程序。但是,我的事件处理遇到了问题。我想要的功能是让玩家能够单击卡片,然后显示一条消息,指示再次单击卡片以将其翻转。这是我的基本设置:

在第一次单击时它工作正常,但在第二次单击时没有任何内容记录到控制台。我知道必须有更好的方法来处理这样的连锁事件。我错过了什么?任何帮助表示赞赏。

0 投票
1 回答
133 浏览

javascript - 动态修改现有事件处理程序的值

快速背景:我正在更新现有代码以将事件处理程序与 html 对象分开,onload然后在一个函数中分配所有必要的处理程序。

现在是困难的部分。在此界面中,用户将能够触发现有元素的克隆。这些克隆需要将它们的一些处理程序参数更新为新值。

在分离事件之前,我是这样做的:

对于这些元素可能具有的每个可能事件,依此类推。

但是,现在使用 jQuery 的 on(event, handler) 我不再能看到处理程序是什么。

我试过这个(在这个问题之后 - Get value of current event handler using jQuery):

但是,这将返回具有变量名而不是值的函数。

我希望的地方:

查看控制台日志,我看到jQuery._data(element).events.click[0]在 handler => < function scope > => Closure 中有值,但似乎没有点符号可以访问它,甚至没有我可以动态循环的数组。

如果你告诉我这是不可能的,我可以将所有函数的 args 更改为 just$(this)并在每个函数中从中解析出必要的值,或者我想我可以有一个辅助函数......但如果我可以保留与现有的设置类似的设置可以缓解其他开发人员的学习曲线。

最终解决方案

为了减少重复代码,我创建了一个 Javascript 函数/对象,它从 name/id 标签中解析出必要的信息(而不是 data- 属性来减少冗余信息)。每当触发事件处理程序时,它将首先解析出必要的值,然后运行带有它们的函数。

0 投票
3 回答
116 浏览

javascript - Javascript - On('Click') - 错误 - 在页面加载时调用

无论我是否单击对象,这段代码都会在页面加载时触发。为什么?

0 投票
1 回答
2978 浏览

jquery - 在 jquery 锤子事件中设置 off() 的正确方法

我想知道在我正在处理的简单文档上设置hammer.js 配置的最佳方法是什么。这是我的代码:

并且该功能都加载在$(document).ready()and上(window).resize(),所以这就是我.off()开始制作的原因。我想知道这是在屏幕模式条件更改时禁用它的错误方法,如果你能帮助我改进这个代码,我会很高兴。

保重,祝你有美好的一天:)

0 投票
1 回答
300 浏览

jquery - jQuery - 如何使 .on 事件适用于动态创建的 HTML?

阅读最新 jQuery 1.x 库的新规范,它说用于.on附加适用于动态创建的 jQuery 元素的事件,但是,我似乎根本无法完成这项工作。在我的$(document).ready功能中,我有以下内容:

jQuery:

好的,所以这将下拉[ Read more... ]文本并将其转换为一个[ Collapse Information... ]字符串,该字符串将位于正在扩展的实际内容的下方。但是当我单击[ Collapse Information... ]文本时,它不会折叠任何内容,而是转到页面顶部,因此有一个href="#", 但是使用.on应该可以防止在event.preventDefault();正确应用时发生这种情况?

我正在使用这里找到的 jQuery 库: <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>

如果这甚至很重要,我的 HTML 的布局是这样的:

我第一次点击它,它工作,但第二次,当[ Collapse Information... ]显示它根本不起作用。所以它不会将自己附加到动态创建的<p class="desc"><a href="#" class="dropdown" id="' + theId + '">[ Collapse Information... ]</a></p>.

为什么不?还有什么我应该使用的东西来代替.on吗?我知道.live自 jQuery 1.7 以来不再使用它。 .click也不会工作,因为我也已经尝试过了。还有哪些其他选择?

0 投票
2 回答
9180 浏览

javascript - jQuery .on("click") - 替代 .live()

在我的项目中,我将几个按钮附加到 div:

然后使用以下代码收听点击:

为什么这不起作用?我习惯使用 .live() 但它已被弃用。

谢谢。

0 投票
1 回答
93 浏览

javascript - 我有 2 个绑定函数,当我运行它们时,速度很慢

我是编写 Javascript 和 jQuery 的新手。如果我有两个滑块,并且当我移动每个滑块时它们会相互影响,那会很慢我在每个滑块上使用 2 个绑定命令

难道bind命令性能会变慢?

这是我的代码:

0 投票
1 回答
49 浏览

jquery - jQuery $.on() 作用域的效率

我有一个分类按钮,我希望能够将它放在我网站的任何位置,并让 jQuery 为其附加一个事件处理程序。由于其中一些按钮可能会在初始页面加载后添加到 DOM,因此我需要将事件处理程序的范围限定为父选择器,并在父范围内侦听我的分类按钮。

示例(在 CoffeeScript 中):

这显然不是非常有效,因为它需要监听 中的每一次点击@$body,所以最好将其范围限定为更具体的内容:

但是,我希望能够在模态窗口中使用这个分类按钮,该按钮既可以在初始加载后添加到 DOM 中,也可以在@$contentPage.

将范围保留在较低的特异性(即:)是否更有效@$body,或者只是有两个正在寻找此类的范围:

或者,在模态初始化程序中添加一个新的侦听器是否有意义,直接将事件处理程序添加到$('.pay-button')

0 投票
2 回答
3275 浏览

javascript - 如何在 DOM 中的每个元素中调用函数,即使它们是动态创建的

我想在我的 DOM 上的特定元素上调用一个函数,例如:

它适用于 DOM 中已经存在的任何元素,但我也希望在动态添加到 DOM 的元素中调用此方法。

我试过这样的事情:

或者:

但没有任何成功。

检查jsFiddle

更新

.css()调用只是一个示例,我实际上想调用其他类型的函数

0 投票
2 回答
143 浏览

jquery - 如何将悬停处理程序附加到 TD 元素,过滤将来可能应用的类选择器

.foo在用户处理数据的过程中,我的表将有许多 TD 元素,它们被分配一个类。该表可能有几百个单元格,其中只有十几个可以获取.foo该类。我想听听hover那些特定的 TD 元素。看起来 jQuery 中的 delegate() 方法似乎在监听javascript事件,而hover实际上是jQuery事件,对吗?如何创建一个委托来监听将来将分配给他们的类hoverTD.foo元素?.foo