这真让我感到困惑.我在main.js文件中定义了函数,它在头文件中加载,然后在我在HTML代码末尾调用该函数.在Chrome中我收到错误未捕获的ReferenceError:未定义delete_image,但在Firefox中它正常工作(Opera中出现相同的错误).到底是怎么回事?
功能:
function delete_image(button,data = false){
button.on('click',function(){
var $this = $(this),url = $(this).attr('href');
if( data == 'tmp' )
{
data = 'id=' + $this.data('id');
}
else if ( data == true )
{
data = forma.serialize();
}
$.confirm({
'title' : 'Image Delete','message' : 'Do you want to delete this image?','buttons' : {
'Yes' : {
'class' : 'blue','action': function(){
$.post(url,data,function(){
$this.parent().slideUp('slow');
});
}
},'No' : {
'class' : 'gray','action': function(){}
}
}
});
return false;
});
};
最佳答案
您今天无法在标准JavaScript中传递默认参数值,这在Chrome中无效:
function delete_image(button,data = false){
你应该做的是
function delete_image(button,data){
if (data == undefined) data=false;
MDN precises in what browsers you can use this feature(答案:仅限Firefox).
这应该与Harmony一起提供.这是some detail about ES6’s plan.
原文地址:https://www.jb51.cc/jquery/428699.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。