问题标签 [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.
javascript - 我怎样才能以正确的方式编写这个 jquery on() ?
这是我所拥有的
我知道这是错误的语法,那么正确的语法是什么?我知道如果我将单击和鼠标事件分开,我可以编写它。但是有没有办法将它们结合起来,还是我需要将它们分开?谢谢你的时间
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>
生成方式:
另一方面,我之前应该看到它很重要:.click
or.on(click, handler)
引用的 HTML 是由另一个 js 函数创建的。
jquery - jQuery如何将livequery翻译成on?
我有这个代码,但是它使用的是旧的遗留函数“livequery”,它应该真正切换到使用“on”。但是,对于我的生活,我无法让它发挥作用。这是我的代码片段。
我试过这个......
这不起作用,因为我猜“可拖动”不是事件名称......
谢谢..
javascript - jquery为新添加的元素设置一个属性为input和textarea
当新元素被添加到 dom 中时,让它工作的转折是什么。影响 input:text 和 textarea 在 $(document).ready 上执行规则后将此规则应用于新添加的元素
这就是答案,虽然不是那么完美。
感谢所有的反对票..
jquery - Jquery 在(实时)与(绑定)上的最佳性能
我对 on use as the previous live 和 on use as the previous bind 的性能有疑问。
我的问题是,如果我们必须在 dom 中创建多个(比如说数百个)元素并在每个元素上添加一个事件,那么在性能方面什么是更好的选择:
- 在现场使用“on”一次
- 每次我们创建一个元素作为绑定时使用“on”
谢谢您的答复。
jquery - JQuery On 方法不起作用
我在 Firefox 中收到此错误:TypeError: $("#main-CNTR").on is not a function。而且这段代码根本不起作用:
HTML部分是这个
在鼠标进入跨度时,应显示一条消息并显示下一个 div。显然 div#main-CNTR 是主要内容容器 div 并且 HTML 片段在页面中重复了几次。
live 方法可以正常工作,但在 ie8 中不行。
谁能帮我?谢谢!
html - On 和 Live 在动态添加元素时表现不同
我有以下代码,我尝试使用 jQuery live 和插件,在尝试使用 live 时,我能够将已经存在于具有类“按钮”的元素的事件处理程序添加到新添加的元素(动态添加页面加载后)使用类“按钮”但在尝试使用插件上的 jQuery 时,我无法将已经存在的事件处理程序添加到新添加的元素中。
实时示例
开的例子
此外,我可以在 jquery 就绪之外使用 live 放置事件处理程序绑定代码,这工作正常,但是如果我在 jquery 就绪之外使用事件处理程序绑定,则事件处理程序不起作用。提前感谢任何帮助。
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')
每次解决这个问题。
这看起来很难看。有没有更优雅的方式?
谢谢,马特
jquery - Jquery On 和 Live Confusion
看看这些示例代码:
我们有
我们有 jquery 代码;
1-开
2-带直播
问题是 jquery 不能使用 .on 处理 object-2。.live 已弃用,应避免使用。但是 .on 不适用于动态内容。如何使用 .on 在动态内容上运行 jquery 代码?
javascript - 所有 jquery 事件都应该绑定到 $(document) 吗?
这是从哪里来的
当我第一次学习 jQuery 时,我通常会附加这样的事件:
在了解了有关选择器速度和事件委托的更多信息后,我在几个地方读到“jQuery 事件委托将使您的代码更快”。所以我开始写这样的代码:
这也是复制已弃用的 .live() 事件行为的推荐方法。这对我很重要,因为我的很多网站一直在动态添加/删除小部件。不过,上面的行为与 .live() 并不完全相同,因为只有添加到现有容器 '.my-widget' 的元素才会获得这种行为。如果我在该代码运行后动态添加另一个 html 块,这些元素将不会获得绑定到它们的事件。像这样:
我想要达到的目标:
- .live() 的旧行为 // 意味着将事件附加到尚不存在的元素
- .on() 的好处
- 绑定事件的最快性能
- 管理事件的简单方法
我现在附上这样的所有事件:
这似乎满足了我的所有目标。(是的,由于某种原因,它在 IE 中速度较慢,不知道为什么?)它很快,因为只有一个事件与单个元素相关联,并且仅在事件发生时才评估辅助选择器(如果此处错误,请纠正我)。命名空间很棒,因为它可以更轻松地切换事件侦听器。
我的解决方案/问题
所以我开始认为 jQuery 事件应该总是绑定到 $(document)。
你有什么理由不想这样做吗?
这可以被认为是最佳实践吗?如果不是,为什么?
如果您已经阅读了整篇文章,谢谢。我感谢任何/所有反馈/见解。
假设:
- 使用支持
.on()
// 至少版本 1.7 的jQuery - 您希望将事件添加到动态添加的内容中
读数/示例: