为什么一个具有特定名称的JavaScript函数不起作用而其他函数却起作用?
最近我面临的一个非常有趣的问题是关于我的一个JavaScript函数。我的带有特定名称的JavaScript函数不起作用,但如果我将其名称更改为其他名称,它就起作用了。看一看-为什么一个具有特定名称的JavaScript函数不起作用而其他函数却起作用?,javascript,Javascript,最近我面临的一个非常有趣的问题是关于我的一个JavaScript函数。我的带有特定名称的JavaScript函数不起作用,但如果我将其名称更改为其他名称,它就起作用了。看一看- // function to retain the jquery ui css for toolbar function retain_css() { alert('hi'); $( "#new_sort_options" ).buttonset(); } // new sort $(document)
// 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()时,我还更改了代码的顺序,但不起作用。尽量不要创建全局函数,因为它可能会与其他框架或库发生冲突
//define private namespace
window.user3779493Functions = {};
//define method
user3779493Functions.retain_css = function() { ... }
//call method
user3779493Functions.retain_css();
一些功能已经被编程为“警报('hi');”,这是一个名为alert的函数:
function alert() {
/* do something */
}
这个功能也不起作用。哇,怎么可能呢?您是否有可能在一个实时示例(这里是一个代码片段或JSFIDLE等)中复制它?“不要担心end_loader()函数,因为它与我的问题无关”,然后将其从您显示的代码中删除。console中是否有错误?你能抽象出AJAX吗?制作一个脚本并向我们显示调试结果。唯一可行的方法是,如果retain\u css再次声明在较低的位置或其他位置,并覆盖函数。retain\u css对我来说非常适合,因此您的错误可能高于您向我们显示的代码。请将代码的一部分粘贴到retain_css()上方,或者只是一把小提琴。