- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
保存这些事件的函数在每次打开弹出窗口时调用
我有一个函数需要在一个页面上多次调用。该函数包含一些 .on("click", function....
事件。
为了不向同一元素添加越来越多的点击事件,我在每个 .on("click",
之前添加了 .off("click",
哪个(我理解)是处理这个问题的正确方法?
我的函数还有以下内容:$("#myForm").submit(函数(e){...
和...$("#myTextArea").focus(函数(e){...
我的问题是:我是否需要像执行“单击”功能一样“解除绑定(bind)”(为了更好的词).submit 和.focus 功能,以便在每次调用该功能时停止这些事件在这些元素上相乘?
而且,如果我这样做,正确的方法是什么?
非常感谢
约翰 :-)
** 更新 **我已按要求提供了更多详细信息。
我的页面包含 3 个由 3 个独立按钮启动的弹出窗口。弹出窗口开始时只有一个“loading.gif”。当单击每个按钮时,我测试“loading.gif”是否在窗口中处于事件状态,如果是,我使用 ajax 请求为该窗口获取正确的 HTML。
一旦我的 ajax 请求返回 HTML,我将其附加到窗口,然后调用此函数将事件绑定(bind)到相关按钮/表单等。
如果他们随后关闭该窗口并打开其他弹出窗口之一,我需要重新调用该函数,因此要确保我不会在每个 HTML 元素的事件上加倍。因此,我先关闭事件 .off
,然后再将它们放回 .on
。
希望澄清问题背后的原因,但如果不清楚,请随时询问。我还认为指出我是 jQuery 的新手(实际上是一般的 javascript)是明智的,所以这当然不一定是实现此功能的最佳/唯一方法。这正是我在编写代码时认为有意义的方式。
最初我让弹出窗口预先填充了 HTML 但隐藏了,但我发现那样我的页面大小非常大,我想缩短加载时间等。
最佳答案
你可以按照你现在的方式去做。您还可以使用 jQuery 委托(delegate)系统。
示例:
您有一个 div(我们称它为 #test
)并在其中添加了一些按钮。你删除按钮,你再次添加它们......但是你想在它们上绑定(bind)一个点击事件。你可以这样做:
$('#test').on('click', 'button', function(event) {
// Do what you want. this == the clicked button
$(this).css('background-color', 'red');
});
解释:
点击事件绑定(bind)在 #test
上,但 jQuery 将针对 css 选择器 button
测试点击的目标。而 this
将成为点击的目标(不是 #test
)。这样您只需创建一次点击监听器,而不必在每次创建按钮时都添加/删除它。
关于javascript - jQuery - 如何删除 .submit() 和 .focus() 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31335675/
我创建了一个函数来在两个元素的 style.display 之间切换为“none”或“block”。我在这里遇到的问题是“发送”按钮似乎与“切换”按钮具有相同的行为。这不是我指定它要做的事情。我想知道
当我使用 validate.js 添加表单验证时,其验证正常并显示验证消息。但输入 type="submit"值在操作页面结构中显示两次。 为了说明,我有两个 .cfm 文件,index.cfm 具有
我有一个 s:form,里面有 sj:submit 和 s:submit,sj:submit 工作正常,但 s:submit 按钮不起作用。当我点击 s:submit 按钮时没有任何反应。 我尝试在表
参见http://jsfiddle.net/8KNc7/5/有关我正在讨论的内容的工作示例(目前在 Firefox 15 中进行测试,尚未尝试其他版本)。 我有一个带有 submit 输入和 butt
我有一个包含表单的 HTML 页面。我想做一些字段 "required" 。问题是我没有使用 在我的表单中,我使用 Javascript 函数来提交表单,因为我需要将 Javascript 变量发送到
如果用户提交表单,我想运行特定的 PHP block 。如果我使用带有 name="submit"的提交按钮并且: 我对 javascript 一无所知,我希望代码在用户更改下拉菜单时运行。如果我将
我有一个网站 www.abc.com,其中有一个页面 xyz.php。 xyz.php 采用表单提交事件读取数据并保存在数据库中。 www.abc.com 有一个针对 xyz.php 执行操作的表单。
这个问题在这里已经有了答案: JavaScript post request like a form submit (32 个答案) 关闭 9 年前。 我查看了不同的线程,但找不到合适的解决方案。
我有一个表单提交触发器和一个确认引导框,它显示在单击表单提交按钮上。在 bootbox 中确认如果用户同意我提交表单。我的问题是 onsubmit 在用户说是之前触发,并且当我在 bootbox 中调
我正在使用 JavaScript .submit() 函数提交我的表单。 form.submit(); 但是当我使用 addEventListener 来捕获我的提交事件时,它不起作用。 form.a
编辑:在考虑回答问题之前,请仔细阅读问题的所有内容。我既不是在生产代码中使用内联事件处理程序的可取性,也不是在实现我所引用的文章所 promise 的结果的最佳方法。这是关于Javascript语义和
这是我的形式,对我来说看起来不错。在这种形式中,我放置了这个按钮: 这是它调用的函数: function confirmSubmit() { // get the number of st
以下哪个 CSS 选择器更快? input[type="submit"] { /* styles */ } 或 [type="submit"] { /* styles */ } 只是好
在表单上添加提交按钮的符合标准的正确语义方式是什么?我不需要按钮中的图像或背景,只需要简单的文本,也许是带弯 Angular 的渐变背景(使用 CSS3)。这些是我所知道的方法: click her
我的 App.js 包含以下代码: var app = angular.module('githubApp', []); 我有 githubAppController 和以下代码: app.contr
jQuery 允许通过以下任一方式以编程方式触发表单提交: $('.js-form-class-hook').submit(); $('.js-form-class-hook').trigger('s
我有一个表单,其中一个按钮使用 onClick 事件提交。 " 此外,我有一个输入,当输入处于焦点状态时按下回车键时会触发 couponButton。 虽然它们都触发相同的事件 (.submit()
目前只是尝试实现这些按钮:http://web.archive.org/web/20110721191046/http://particletree.com/features/rediscoverin
我正在提交我的第一个构建以供 TestFlight beta 审查,在创建一个组后,添加 4 名团队成员添加我的构建,取消单击该框以表示我需要登录信息来测试该应用程序,我单击“提交”审查。” iTun
我有一个带有 onsubmit 属性的表单。我需要绑定(bind)一个新的提交事件,并且我需要在任何现有提交函数之前执行此事件。 下面的代码演示了这个问题。 Test
我是一名优秀的程序员,十分优秀!