触发'点击'事件,当在rails中的确认对话框上单击cancel时
Triggering a 'click' event when cancel is clicked on a confirmation dialogue box in rails
我使用这个gem (https://github.com/bluerail/twitter-bootstrap-rails-confirm)来取代标准的浏览器确认对话框与引导模式,它正在工作,但是,当'确认'或'取消'按钮或选择时,没有内置回调,所以我试图创建我自己的
我目前禁用原始链接时,它被点击,以防止用户点击它两次,但是,如果'取消'点击确认对话框,链接需要重新启用。这是我尝试过的:
$('#confirmation_dialog').find('.cancel').on 'click', (e) ->
console.log('cancel was clicked')
$('.disabled').removeClass('disabled')
问题是,当点击"取消"按钮/链接时,这不会运行。
使用Chrome JS控制台时,我在模态上找到正确的"取消"按钮没有问题,并使用
调用它$('#confirmation_dialog').find('.cancel').click()
,有效地取消和关闭模式,然而,我的on click
事件没有触发,所以按钮没有重新启用。
这是页面上供用户点击的链接:
<td><%= link_to 'Cancel Appt', cancel_appointment_path(appointment), class: 'btn btn-default btn-xs btn-danger btn-disable-after-click', data: { confirm: "Are you sure you want to cancel the appointment?", commit: 'Yes', cancel: 'No' } %></td>
,这将禁用按钮,因此用户不能点击两次:
$('.btn-disable-after-click').on 'click', (e) ->
$(this).addClass('disabled')
任何建议,我做错了,将非常感激,谢谢!
是因为元素(例如$('#confirmation_dialog').find('.cancel')
)在绑定到它时不存在吗?
你可以使用jQuery的on
方法通过指定选择器来动态绑定事件,如下所示:
$('body').on 'click', '#confirmation_dialog .cancel', (ev) ->
$('.disabled').removeClass('disabled')
这似乎是一个可能的原因,因为对话框通常是使用JavaScript添加到页面的,所以最初不存在于DOM中。虽然没有看到完整的源代码,但很难确定。
相关文章:
- 删除确认对话框在第一次单击时不起作用
- javascript确认对话框有时会不断出现
- 如何为javascript方法放入jquery确认对话框
- 是否可以将JXBrowser显示的JS确认对话框的结果返回到调用它的JS部分
- 如何在批准露天共享中工作流的审核步骤之前添加确认对话框
- 弹出格式化的模式对话框,并在用户确认时转发
- 为什么JavaScript对话框(警告、确认)会停止页面重绘
- jQuery模态弹出的行为类似于确认和警报对话框
- MVC3 Ajax链接确认对话框使用jquery ui对话框
- 是否可以隐藏javascript确认对话框
- 通过Rails中的自定义Jquery对话框处理链接的确认
- Javascript/C# - 满足语句条件时的确认对话框
- 如何添加Facebook FB.ui对话框确认消息
- 在按下对话框“保存”按钮后创建对话框确认
- 用户不会显示 JQuery 模式对话框确认
- 启动对话框确认单击确认事件
- Jquery对话框确认到一个特定的带有php变量的href链接
- 如何构建一个jQuery对话框确认(是/否),可以在应用程序的任何地方工作
- jQuery对话框确认删除不会触发删除
- 在Code Behind/ASP.net中基于用户输入显示模态对话框/确认框