Điều này thực sự khiến tôi khó hiểu. Tôi có hàm được định nghĩa trong tệp main.js, được tải trong tiêu đề và sau đó tôi gọi hàm đó ở cuối mã HTML. Trong Chrome tôi gặp lỗi Tham chiếu không bắt buộcLỗi: delete_image không được xác định, nhưng trong Firefox, nó hoạt động bình thường (cùng một lỗi xuất hiện trong Opera). Chuyện gì vậy?Jquery 1.9, JS - chức năng không được xác định trong Chrome
Chức năng:
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;
});
};
Gọi function (sau HTML một phần của mã):
<script>
var link = $('a[role=delete]');
delete_image(link);
</script>
Ngoài ra, có vẻ như bạn đang sử dụng 'dữ liệu' để đại diện cho một vài loại khác nhau. bạn nên cố gắng sử dụng nó như một loại duy nhất. Ngoài ra, nó không phải là một tên biến lớn, và bạn đang mất quyền truy cập vào nó bên trong hàm 'confirm' của bạn. Cố gắng tìm ra cái tên thể hiện rõ hơn những gì bạn đang sử dụng biến đó. –