これは本当に困惑しています。私はmain.jsファイルで定義された関数を持っています。これはヘッダにロードされています。そして、後者はHTMLコードの最後にこの関数を呼び出しています。 Chromeでエラーが発生しましたUncaught ReferenceError:delete_imageはと定義されていませんが、Firefoxでは正常に動作しています(同じエラーがOperaに表示されます)。何が起こっている?Jquery 1.9、JS - 関数はChromeで定義されていません
機能:(コードのHTML部分の後に)関数の呼び出し
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;
});
};
:
<script>
var link = $('a[role=delete]');
delete_image(link);
</script>
これは、データを使っていくつかの異なるタイプを表現しているようです。それを単一のタイプとして使用するようにしてください。さらに、それは素晴らしい変数名ではなく、 'confirm'関数の中でその変数にアクセスできなくなります。その変数を使っていることをよりよく表す名前を思いついてみてください。 –