将 JQuery 确认添加到任意元素的最佳不显眼的方法

2023-12-10

我是 jquery 的新手,正在寻找一种好的、不显眼的方法来将 javascript“confirm”的 jquery 替换添加到 HTML 元素。具体来说,我希望能够将它用于 ASP.NET 按钮、LinkBut​​tons、ImageButtons、HyperLink 等,其中客户端意味着:

<input type="submit"... />
<a href="javascript:__doPostBack... />
<input type="image"... />
... etc ...

我提出的一个解决方案是向 ASP.NET 服务器控件(以及客户端元素)添加自定义属性,例如:

<asp:ImageButton ... data-confirmPrompt="OK to delete customer 123?" ... />

呈现为:

<input type="image" data-confirmPrompt="OK to delete customer 123?" ... />

然后,我只需要为具有此自定义属性的元素添加一个单击处理程序。下面的例子使用jquery 即兴,但同样的原理适用于任何 jquery 模式对话框实现:

$(document).ready(function () {
    $("[data-confirmPrompt]").click(function (event) {
        var confirmPrompt = event.currentTarget.attributes['data-confirmPrompt'].value;
        event.preventDefault();
        $.prompt(confirmPrompt, {
            buttons: { Yes: true, No: false },
            callback: function (v, m, f) {
                if (v) {
                    // User clicked Yes.  Unbind handler to avoid
                    // recursion, then click the target element again
                    $(event.currentTarget).unbind('click');
                    event.currentTarget.click();
                }
            }
        });
    });
});

这一切似乎在 XHTML 1.0 Strict 的 IE8 上运行良好。所以我的问题是:

  1. 所有现代浏览器都会接受这样的自定义属性吗?

  2. 我知道这并不严格符合标准。谁能建议一种符合标准、至少不引人注目且易于使用的替代方案?

UPDATE added data-自定义属性的前缀,据我了解至少使其兼容 HTML5。

UPDATE 2 See 这个后续问题以获得改进的解决方案。


Use the data-属性,参见here

<a href='#' data-confirm="Are you sure?">Some Link</a>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 JQuery 确认添加到任意元素的最佳不显眼的方法 的相关文章

  • Jquery - 通过在字符串中构建 id 的 id 获取元素

    我在使用 jquery 元素时遇到问题 我正在 var 中构造名称 例如 var myId myGotId myId attr title changed myId 返回空 我想通过 id 获取我的元素 但动态构建我的 Id 连接字符串 编
  • 显示覆盖以覆盖整个页面

    我有一个正在加载的网络应用程序iframe 我需要显示一个覆盖 div 来覆盖整个页面 问题是叠加层当前仅显示在iframe区域而不覆盖整个页面 我们的应用程序 子应用程序 是加载的一组应用程序的一部分iframe 你可以做这样的事情 di
  • 会话过期时将部分视图重定向到登录页面

    是否有一种简单的方法可以在会话过期后将整个页面 而不仅仅是部分视图 重定向到登录页面 我已尝试以下解决方案 但无法使其工作 Net MVC Partial View 会话过期时加载登录页面 https stackoverflow com q
  • 无法在 Chrome 中设置 currentTime

    由于某些原因 在 Chrome 中我无法设置音频标签的 currentTime 属性 我可以提醒 currentTime 并且它显示正确 但是当我尝试设置 currentTime 时它会恢复为零 进度条上有一个事件侦听器 它会触发如下所示的
  • XHR 不起作用,因为“Access-Control-Allow-Origin 不允许来源”

    我正在使用 Rails 3 开发一个 API 服务器 到目前为止 它非常方便 但我一直遇到错误 我不确定这是因为我的 Apache 设置还是 Rails 应用程序 当我尝试执行 HTTP DELETE 或 PUT 请求时http sampl
  • jquery:$().animate() 不是函数

    我已经做了很多搜索 但无法找到我的问题的答案 所以这里是 我正在尝试创建一个滑出切换菜单本教程 http alijafarian com jquery horizontal slideout menu 我收到一个错误slideoutMenu
  • 如何在C#和Azure启动任务中自动更新EXE项目?

    我在我的天蓝色相关项目中面临着一个关键且有趣的问题 我创建了一个 Web 应用程序 用户可以从那里下载一个插件 C 中的 EXE 项目 并在解压后上传 EXE 和配置文件到部署在 Azure 平台上的应用程序的启动任务 并且该 exe 定期
  • Bootstrap 4 具有 d-flex 类的列表项不响应 .hide()?

    当我添加课程时d flex我的引导程序 4 ul 列表项不响应 hide 不再 尽管style display none 被添加到 DOM 中 The d flex用于Bootstrap 4 列表徽章 https getbootstrap
  • 在 ajax 完成之前阻止提交

    我正在使用 jQuery 并且我希望在所有 ajax 调用完成之前表单提交不会起作用 我想到的一种方法是存储一个布尔值 该值指示是否有 ajax 请求正在进行 在每一个结束时它都会被设置为 false 我不确定这是否是最好的方法 所以我将不
  • 如何对ArrayList(int)进行排序

    我怎样才能排序Arraylist按升序和降序排列 例子 ArrayList list new ArrayList list Add 2 list Add 8 list Add 0 list Add 1 如何按升序和降序对上面的列表进行排序
  • 如果我拒绝确认,如何防止更改选择框值

    我正在使用国家 地区选择框 当用户选择一个国家 地区时 会出现添加分支链接 并且用户在该国家 地区下添加分支 但是当用户想要更改国家 地区时 则应销毁有关该国家 地区的所有分支 在更改国家 地区之前 会出现一个确认框并显示警告 一切正常 但
  • aspx 页面中的代码是否会在 Web 应用程序中编译?

    首先我要说的是 如果有人知道一篇谈论这个主题的好文章 请指出我 aspx 页面中的代码 位于 标记之间 是否在 Web 应用程序中进行编译 或者是否将其视为标记 您可以在不重新编译解决方案的情况下更改它 编译是否只编译 cs和designe
  • Response.Write - Internet Explorer 中的文件名编码错误

    我使用以下代码将文件从服务器发送到客户端 Response AppendHeader content disposition attachment filename FileName Response ContentType MimeTyp
  • 如何淡化循环背景图像?

    这里的菜鸟 我试图让我的静态背景变成一个轮播 我当前的html看起来像这样 div class pageContent div 和我的CSS body background url http placehold it 1600x1200 n
  • 为什么 jQuery 点击事件会多次触发

    我这里有这个示例代码http jsfiddle net DBBUL 10 http jsfiddle net DBBUL 10 document ready function creategene click function confir
  • 有没有模拟 Facebook 游览的 jQuery 插件?

    我指的是 Facebook 游览 可能使用开箱即用的 Facebook CSS 我已经知道这两个 http tympanus net codrops 2010 12 21 website tour http tympanus net cod
  • 使用模态表单 ajax 超出 HTMLFormElement.toString 的最大调用堆栈大小

    我想使用模态窗口中的 ajax 请求提交表单 单击此链接可打开该模式 a class btn btn primary i class fa fa edit i Write a review a 模态窗口 div class modal fa
  • 使用 App Insights 将相关 ID 添加到自动生成的遥测数据中

    我对 Application Insights 非常陌生 我正在考虑将其用于我计划使用 asp net webapi 实现的一组服务 我能够非常轻松地启动并运行基本遥测 右键单击 VS 上的项目 添加应用程序洞察 但随后我遇到了障碍 我计划
  • jQuery 选择下一个

    我有一个简单的div布局html 有一个函数 当鼠标悬停在className为 personal icon email 的div上时 我将调用JS函数并显示className为 img info mask 的隐藏div div class
  • jQuery:动态添加 DOM 元素时尝试将函数挂钩到 onclick,但它立即执行该函数

    我正在使用 jQuery 动态 我的意思是在运行时 向页面的 DOM 添加一个 span 元素 create add task button document createElement span attr id activityNameH

随机推荐

  • ^ 运算符对 BOOL 有何作用?

    这句话是什么意思呢 isChecked isChecked 1 isChecked is a BOOL 是异或运算 因此 0 翻转为 1 1 翻转为 0 结果应该是一样的isChecked isChecked
  • Android Volley POST请求:在服务器端获取GET请求方法(php)

    我正在制作一个 Android 应用程序 需要将 Post 请求发送到我的服务器 并且确实需要一些帮助 我一直在尝试使用 android Volley 提出这些请求 我在这里阅读了很多相关问题以及有关 android Volley 的各种文
  • 在数据框的每一列中填写 NA 的平均值[重复]

    这个问题在这里已经有答案了 如果我有一个数据框 df df data frame x 1 20 y c 1 10 rep NA 10 z c rep NA 5 1 15 我知道用给定列的平均值替换 NA 是 我们可以使用 df is na
  • 直接链接到 iframe 中加载的特定内容的页面

    我有一个带有 iframe 的首页 可以加载不同的内容 我想要一个将用户带到 iframe 中加载的 pageA 的首页或加载了 pageb 的另一个 url 的 url 我该怎么做呢 我是否缺少一个简单的 html 解决方案 或者这是 j
  • 如何在R Shiny中调整sidebarPanel的宽度而不影响后续sidebarPanel宽度

    我正在尝试更改 R Shiny 中 sidebarPanel 的宽度 以便我的 mainPanel 有更多 空间 来并排显示两个图表 这些图表显示在主面板中各自的侧边栏面板中 因此 存在三个侧边栏面板 第一个用于数据选择 选择在其余两个侧边
  • 连接到 MySQL 数据库

    如何从 Java 连接到 MySQL 数据库 Java 在本地计算机上运行 而数据库则在远程服务器上运行 此示例使用 MySQL 的 MM JDBC 驱动程序连接到 MySQL 数据库 Connection connection null
  • Python26、Win32、ZBar - ImportError:DLL 加载失败

    我正在使用 Python 2 6 x86 并尝试安装 ZBar 模块 我下载了当前版本的 ZBar Win32 Installer http zbar sourceforge net download html 以及 PyPi 上模块的当前
  • PyQt:我可以制作一个带有图标和文本的工具栏按钮吗?

    我正在通过示例来学习 PyQt 在本例中 我正在使用位于以下位置的网络浏览器示例 Python26 Lib site packages PyQt4 examples activeqt webbrowser 如果您添加一行来设置 QActio
  • 80040111 ClassFactory 无法提供请求的类(HRESULT 异常:0x80040111 (CLASS_E_CLASSNOTAVAILABLE))

    由于以下错误 检索 CLSID 为 0A80A563 28AE 11D3 9CD6 00C04F8B8EF1 的组件的 COM 类工厂失败 80040111 ClassFactory 无法提供请求的类 HRESULT 异常 0x800401
  • 使用数据表按不同顺序对多列进行排名

    使用下面的示例 如何使用不同的顺序对多个列进行排名 例如将 y 按降序排列 将 z 按升序排列 require data table dt lt data table x c rep a 5 rep b 5 y abs rnorm 10 1
  • 所有属性上的 INotifyPropertyChanged

    考虑到一个具有大量属性的类 我想实现一个 Dirty 标志 以便知道是否应该更新数据库中的值 有什么办法可以提高PropertyChangedon 所有属性 而无需手动检查并在设置器中将其拔出 编辑以澄清一些事情 我确实浏览了此处链接的线程
  • 为什么使用“pickle”转储比“json”快得多?

    这是针对 Python 3 6 的 编辑并删除了很多无关紧要的内容 我以为json比pickleStack Overflow 上的其他答案和评论让很多人看起来也相信这一点 我的测试合格吗 差距比我想象的要大得多 我在非常大的物体上测试得到了
  • MySQL 选择特定值的最新行

    我正在努力思考如何生成一个能够注意到正确结果的 MySQL 查询 我有一个表 其结构如下 工作流程状态历史记录 id reference status 1 308ffn3oneb Lead Received 2 308ffn3oneb Qu
  • 如何将2个变量求和并将其存储到一个变量中

    我有一个包含 2 个不同子报告的主报告 我有一个来自 subreport1 的变量 sum 例如 10 整数类型 我有来自另一个 subreport2 的另一个变量 sum 例如 2 整数类型 I have 成功从每个子报表中检索了 2 个
  • 获取两个单词之间的文本[关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 我需要知道如何获取两个给定单词之间的单词 不幸的是我不知道该怎么做 例如 你好 美好的一
  • 使用存储过程作为 MS Access 表单记录源

    现在 我有一个数据库 带有 SQL Server 后端和 MS Access 前端 在一种表单上 我的用户的显示加载时间很慢 该表单本质上是查找用户是谁 基于他们的登录 ID 这部分有效 查看他们的访问权限 只读 v 更新等 这也有效 然后
  • 如何将范围对象插入公式中

    我想将范围对象插入公式中 一个示例应该大致如下所示 Dim x As Range Set x Range Cells 1 1 Cells 2 1 Range C1 Formula SUM x 单元格 C1 中的结果应为 SUM A1 A2
  • 在单个四开 PDF 输出中创建多页面方向

    这个想法是复制 PDF 输出rmarkdown in quarto在本例中 是在单个文档上创建多页方向 在rmarkdown我可以用这个轻松做到trick 但是 我无法在四开本中执行此操作 它会不断发送错误消息 compilation fa
  • GWT - 在共享文件夹中放置什么?

    我仍然不确定要放入什么shared文件夹 如果我正在执行 RPC 请求 并将 Pojos 从客户端发送到服务器 反之亦然 我是否必须将它们放入shared文件夹 因为它们被客户端和服务器使用 EDIT 也许我用错了术语但是当我说Pojo我其
  • 将 JQuery 确认添加到任意元素的最佳不显眼的方法

    我是 jquery 的新手 正在寻找一种好的 不显眼的方法来将 javascript confirm 的 jquery 替换添加到 HTML 元素 具体来说 我希望能够将它用于 ASP NET 按钮 LinkBut tons ImageBu