我现在面临的一个非常有趣的问题是关于我的一个JavaScript函数。我的JavaScript函数有一些特定的名称不起作用,但如果我将其名称更改为其他任何东西,那么它正在工作。看看 -
// function to retain the jquery ui css for toolbar
function retain_css() {
alert('hi');
$( "#new_sort_options" ).buttonset();
}
// new sort
$(document).on("click", ".new_sort_button", function() {
var order = $(this).val();
var make_id = $('#new_make_id').val();
$.ajax({
beforeSend : start_loader(),
type : 'POST',
url : '/ajax/new-sort.php',
data : 'order='+order+'&make_id='+make_id,
dataType : 'json',
success : function(data) {
$("#new_results_toolbar").html(data.toolbar);
$("#new_results").html(data.models);
retain_css();
end_loader();
}
});
});
但是retain_css()根本不起作用。即使是alert()也没有开火。但是,如果我将其名称更改为my_fun()等任何内容,则代码可以正常工作。我不明白为什么会这样?任何的想法?不要担心end_loader()函数,因为它没有什么可以解决我的问题。当使用retain_css()但是没有用时,我也改变了代码的顺序。
答案 0 :(得分:1)
尽量不要创建全局函数,因为它可能会与其他框架或库冲突。
//define private namespace
window.user3779493Functions = {};
//define method
user3779493Functions.retain_css = function() { ... }
//call method
user3779493Functions.retain_css();
答案 1 :(得分:0)
某些功能已经编程为' alert(' hi');',这是一个名为alert的功能:
function alert() {
/* do something */
}
该功能也不起作用。