给bootstrap-sweetalert弹框的按钮绑定事件

时间:2024-07-03 21:03:56

一. sweetalert cdn使用

  sweetalert提供了很多的炫酷弹框,有很多的用法。关于本地导入使用sweetalert的方法,在之前的博客里提到过(点击前往),不过我们也可以使用cdn。

给bootstrap-sweetalert弹框的按钮绑定事件

  然后复制,黏贴至Html文件head便签中即可:

给bootstrap-sweetalert弹框的按钮绑定事件

  可以修改创建html文件的模板,这样以后不用每次新建都手动导入cdn了:

给bootstrap-sweetalert弹框的按钮绑定事件

二. 给sweetalert弹框的按钮绑定事件

  今天遇到一个情况,ajax中触发一个sweetalert弹框,随后一个location.href跳转页面,本来以为会等我们点击弹框的ok按钮后才会跳转的,但是结果并不是这样。弹框会在一瞬间就消失,跟没有弹框是一样一样的。

  代码如下:

swal(data['msg'], '点击进行登录', 'success');
location.href = '/login/';

  后来试验了一下,目前知道有两种方法:

  第一种(投机取巧):

  先把跳转的location.href注释了,然后运行后在检查页面按住ctrl+shift+c,然后点击一个sweetalert的弹框任意位置(不要是OK按钮就行,不然直接没了),然后依次点开往下寻找到OK按钮即可。

给bootstrap-sweetalert弹框的按钮绑定事件

  随后发现就该Button有confirm类,所以用类选择器confirm找到该标签,随后绑定事件,这样是可以实现我们的需求的。

swal(data['msg'], '点击进行登录', 'success');
$('button, .confirm').click(function () {
location.href = '/login/'
})

  第二种,通过文本内容找到标签:

  button:contains("OK")意思就是文本有‘OK’字符串的button按钮,该方法也可以实现我们的需求。

swal(data['msg'], '点击进行登录', 'success');
$('button:contains("OK")').click(function () {
location.href = '/login/'
})
// 这里的text表示具体的文本字符串,  :contains是jQuery1.1.4新增的选择器
jQuery( ":contains(text)" )