我有一个自定义插件,最初通过ajax将html内容加载到页面中,方法是将一个哈希标记和页面ID附加到URL。
我对这种复杂程度非常陌生,并希望“撤消”此功能,因此插件可以在没有路由器功能的情况下进行初始化。我一直在看这几天,很遗憾......
整个插件似乎都是由这个函数初始化的。有关如何关闭此功能的任何提示或建议,以便代码仍然初始化而不将#附加到URL将非常感激。
$(function() {
var connections = [],
IEversion = detectIE(),
killConnections = null,
node = null,
randomBehaviour,
rootIndex = 1,
silentRoute = null;
// Splash.
var splash = {
init: function() {
$('#splash').addClass('active');
$('.node.splash').draggable({
containment: 'parent',
drag: function() {
if(!splash.destroyed) {
$('.node.splash').addClass('dragging');
splash.destroy('drag');
splash.destroyed = true;
}
},
scroll: false,
disabled: false
});
setTimeout(function() {
if($('.arrow').is(':visible')) {
splash.destroy();
}
}, 4000);
},
destroy: function(event) {
if(event === 'drag') {
$('.arrow').hide();
} else {
$('.arrow').fadeOut(500);
}
$('#splash-wrapper p, .node.splash').fadeOut(500);
setTimeout(function() {
$('#splash').remove();
nody.init();
}, 500);
},
destroyed: false
};
// Router.
var routes = {
'/': function() {
if(!splash.destroyed) {
splash.init();
}else {
nody.unloadMenu();
}
}
};
var router = Router(routes);
router.configure({
strict: false,
before: function() {
if(silentRoute) {
silentRoute = false;
return false;
}
}
}).init('/');
});
答案 0 :(得分:1)
一个简单的答案 -
$.mobile.ajaxEnabled = false;
使用jQuery Mobile。
详情 here 。
如果您想使用jQuery,那么就没有直接的方法。
所以你应该使用全局变量来这样做 -
var is_ajax_enabled = true;
$(document).ready(function()
{
...................
...................
$("selector").click(function()
{
...................
//before AJAX call, just do a checking like it-
if(is_ajax_enabled())
{
//make your AJAX call here
$.ajax({url: "demo_test.txt", success: function(result)
{
$("#div1").html(result);
}});
}
...................
});
...................
...................
});
function disable_ajax()
{
is_ajax_enabled=false;
}
function enable_ajax()
{
is_ajax_enabled=true;
}
function is_ajax_enabled()
{
return is_ajax_enabled;
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
&#13;
如果你想一次只有一个请求可用并为请求排队,你可以这样尝试jQuery-Ajax-Singleton -
$.ajax(options || {})