これは本当に私を困惑させます。私はmain.jsファイルで定義された関数を持っています。これはヘッダーにロードされ、後で HTML コードの最後でその関数を呼び出しています。Chrome ではUncaught ReferenceError: delete_image is not definedというエラーが表示されますが、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;
});
};
関数の呼び出し (コードの HTML 部分の後):
<script>
var link = $('a[role=delete]');
delete_image(link);
</script>