这真让我感到困惑.我在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.