问题标签 [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 投票
4 回答
73 浏览

javascript - 我怎样才能以正确的方式编写这个 jquery on() ?

这是我所拥有的

我知道这是错误的语法,那么正确的语法是什么?我知道如果我将单击和鼠标事件分开,我可以编写它。但是有没有办法将它们结合起来,还是我需要将它们分开?谢谢你的时间

0 投票
6 回答
1359 浏览

javascript - jQuery .on 点击​​事件不会发生

您好,感谢您的阅读。我一直在尝试避免使用 HTMLonclick="__"引用,而是将这些事件放在我的 .js 文件中。在阅读了 jQuery 的 .click() 和 .on() 事件之后,我尝试在我的代码中使用它作为按钮。

编辑在我匆忙弥补<p>没有其余内容的情况下,我输入了“name”而不是“id”。许多答案建议我切换到 ap[name=p+#p+引用,但我的主要问题是我什至无法在引用 id/name 之前点击警报。再次感谢您的回答。

HTML:

JS:

当我单击按钮时,上面的代码甚至不会发出警报。我还尝试按名称和 ID 引用按钮,然后按$(document).ready($('.deleter')___.

我也尝试使用该$(handler)格式在文档准备好后设置点击事件。两种方法似乎都行不通。此时,我求助于onclick="deleteButton()"并在我的 .js 文件中有一个deleteButton()函数,但该函数不会检测到$(this),只会删除所有<p>标签。

我的 javascript 的其余部分正在工作。我没有尝试.on()在 HTML 的底部包含它,但我也在尝试避免在我的 HTML 中使用脚本。为了完整起见,我一直在 Chrome 和 Firefox 上进行测试,使用 .jsp 文件呈现 HTML。

再次感谢。

编辑

这是我引用我的 jquery 和 js 的方式,直接复制粘贴。

这是我的 html 指向 div 的样子

插入:

下面是它的<p>生成方式:

另一方面,我之前应该看到它很重要:.clickor.on(click, handler)引用的 HTML 是由另一个 js 函数创建的。

0 投票
1 回答
1312 浏览

jquery - jQuery如何将livequery翻译成on?

我有这个代码,但是它使用的是旧的遗留函数“livequery”,它应该真正切换到使用“on”。但是,对于我的生活,我无法让它发挥作用。这是我的代码片段。

我试过这个......

这不起作用,因为我猜“可拖动”不是事件名称......

谢谢..

0 投票
1 回答
155 浏览

javascript - jquery为新添加的元素设置一个属性为input和textarea

当新元素被添加到 dom 中时,让它工作的转折是什么。影响 input:text 和 textarea 在 $(document).ready 上执行规则后将此规则应用于新添加的元素

这就是答案,虽然不是那么完美。

感谢所有的反对票..

0 投票
2 回答
598 浏览

jquery - Jquery 在(实时)与(绑定)上的最佳性能

我对 on use as the previous live 和 on use as the previous bind 的性能有疑问。

我的问题是,如果我们必须在 dom 中创建多个(比如说数百个)元素并在每个元素上添加一个事件,那么在性能方面什么是更好的选择:

  • 在现场使用“on”一次
  • 每次我们创建一个元素作为绑定时使用“on”

谢谢您的答复。

0 投票
3 回答
2426 浏览

jquery - JQuery On 方法不起作用

我在 Firefox 中收到此错误:TypeError: $("#main-CNTR").on is not a function。而且这段代码根本不起作用:

HTML部分是这个

在鼠标进入跨度时,应显示一条消息并显示下一个 div。显然 div#main-CNTR 是主要内容容器 div 并且 HTML 片段在页面中重复了几次。

live 方法可以正常工作,但在 ie8 中不行。

谁能帮我?谢谢!

0 投票
2 回答
147 浏览

html - On 和 Live 在动态添加元素时表现不同

我有以下代码,我尝试使用 jQuery live 和插件,在尝试使用 live 时,我能够将已经存在于具有类“按钮”的元素的事件处理程序添加到新添加的元素(动态添加页面加载后)使用类“按钮”但在尝试使用插件上的 jQuery 时,我无法将已经存在的事件处理程序添加到新添加的元素中。

实时示例

开的例子

此外,我可以在 jquery 就绪之外使用 live 放置事件处理程序绑定代码,这工作正常,但是如果我在 jquery 就绪之外使用事件处理程序绑定,则事件处理程序不起作用。提前感谢任何帮助。

0 投票
1 回答
35571 浏览

jquery - jquery $('body').on('click') 总是需要 .off('click') 以避免多个事件触发

我有一个页面列出了我的船员(show_crew.php)。该页面使用无限滚动插件运行,就像 Google 图片一样。首先,我展示了 10 个条目。如果用户到达 show_crew.php 的底部,一个新的“show_crew.php”会附加到旧的,显示接下来的 10 个条目。

我在 show_crew.php 中嵌入了一些 Jquery 函数,在其中我通过绑定事件

现在,由于 show_crew.php 被多次附加,事件也被多次绑定到同一个按钮。我可以通过$('body').off('click', 'myButton')每次解决这个问题。

这看起来很难看。有没有更优雅的方式?

谢谢,马特

0 投票
1 回答
34 浏览

jquery - Jquery On 和 Live Confusion

看看这些示例代码:

我们有

我们有 jquery 代码;

1-开

2-带直播

问题是 jquery 不能使用 .on 处理 object-2。.live 已弃用,应避免使用。但是 .on 不适用于动态内容。如何使用 .on 在动态内容上运行 jquery 代码?

0 投票
4 回答
32542 浏览

javascript - 所有 jquery 事件都应该绑定到 $(document) 吗?

这是从哪里来的

当我第一次学习 jQuery 时,我通常会附加这样的事件:

在了解了有关选择器速度和事件委托的更多信息后,我在几个地方读到“jQuery 事件委托将使您的代码更快”。所以我开始写这样的代码:

这也是复制已弃用的 .live() 事件行为的推荐方法。这对我很重要,因为我的很多网站一直在动态添加/删除小部件。不过,上面的行为与 .live() 并不完全相同,因为只有添加到现有容器 '.my-widget' 的元素才会获得这种行为。如果我在该代码运行后动态添加另一个 html 块,这些元素将不会获得绑定到它们的事件。像这样:


我想要达到的目标:

  1. .live() 的旧行为 // 意味着将事件附加到尚不存在的元素
  2. .on() 的好处
  3. 绑定事件的最快性能
  4. 管理事件的简单方法

我现在附上这样的所有事件:

这似乎满足了我的所有目标。(是的,由于某种原因,它在 IE 中速度较慢,不知道为什么?)它很快,因为只有一个事件与单个元素相关联,并且仅在事件发生时才评估辅助选择器(如果此处错误,请纠正我)。命名空间很棒,因为它可以更轻松地切换事件侦听器。

我的解决方案/问题

所以我开始认为 jQuery 事件应该总是绑定到 $(document)。
你有什么理由不想这样做吗?
这可以被认为是最佳实践吗?如果不是,为什么?

如果您已经阅读了整篇文章,谢谢。我感谢任何/所有反馈/见解。

假设:

  1. 使用支持.on()// 至少版本 1.7 的jQuery
  2. 您希望将事件添加到动态添加的内容中

读数/示例:

  1. http://24ways.org/2011/your-jquery-now-with-less-suck
  2. http://brandonaaron.net/blog/2010/03/4/event-delegation-with-jquery
  3. http://www.jasonbuckboyer.com/playground/speed/speed.html
  4. http://api.jquery.com/on/