在插件中调用$ .confirm和confirm()有什么区别?
var jconfirm, Jconfirm;
(function ($) {
"use strict";
$.fn.confirm = function (options) {
if(typeof options === 'undefined') options = {};
/*
* Alias of jconfirm to emulate native confirm
*/
var $this = $(this);
$this.on('click', function (e) {
e.preventDefault();
if ($this.attr('href'))
options['confirm'] = function () {
location.href = $this.attr('href');
};
$.confirm(options);
});
return $this;
};
$.confirm = function (options) { <-- HERE
/*
* Alias of jconfirm
*/
return jconfirm(options);
};
答案 0 :(得分:0)
首先$.confirm()
≠confirm()
。
confirm()
是一个内置的JavaScript函数,它返回一个布尔值:
$.confirm
由用户/插件使用以下方式定义:
$.confirm = function () {
// stuff
}
// or using $.fn.extend.
$.fn.extend({
confirm: function(options) {
var defaults = {
};
options = $.extend(defaults, options);
return this;
}
});
<强>解决方案强>
在jConfirm的情况下,它使用回调函数。所以无论你做什么都需要使用回调函数来完成:
jConfirm('Some Title', 'Are you sure you want to delete your profile photo?', function(r) {
// here `r` will be `true` or `false`.
alert(r);
});