이것은 정말 당황 스럽습니다. 나는 함수가 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' 함수 안에서 그 변수에 접근 할 수 없게됩니다. 그 변수를 사용하고있는 것을 더 잘 나타내는 이름을 찾으십시오. –