让jQuery Mobile不显示讨厌loading界面的方法


在jQuery Mobile中,如果你想要在某些情况下不显示默认的加载(loading)界面,你可以通过修改jQuery Mobile的配置或使用JavaScript来控制这个行为。

### 方法一:全局禁用

在jQuery Mobile初始化之前,你可以通过设置`$.mobile.loadingMessage`属性来禁用加载消息。但是,直接禁用整个加载界面可能不是直接支持的,但你可以通过提供一个空的消息或者透明的方式来间接实现。不过,更直接的方法可能是控制何时显示和隐藏加载界面。

### 方法二:控制显示和隐藏

使用`$.mobile.loading()`方法来控制加载界面的显示和隐藏。

- 显示加载界面(通常不需要这样做,因为jQuery Mobile会自动处理)


  $.mobile.loading('show');
  

- 隐藏加载界面


  $.mobile.loading('hide');
  

在你的页面逻辑中,确保在不需要显示加载界面的时候调用`$.mobile.loading('hide')`。

### 示例

假设你在执行一个Ajax请求,并且不想在请求期间显示加载界面,你可以这样做:


$.ajax({
    url: "some-url",
    type: "GET",
    dataType: "json",
    beforeSend: function() {
        // 通常这里会显示加载界面,但现在我们什么也不做
        // $.mobile.loading('show');
    },
    success: function(data) {
        // 处理成功情况
        console.log(data);
    },
    error: function(xhr, status, error) {
        // 处理错误情况
        console.error(error);
    },
    complete: function() {
        // 请求完成后,确保隐藏加载界面(尽管在这个场景下我们没有显示它)
        $.mobile.loading('hide');
    }
});

在这个例子中,我们并没有在`beforeSend`回调中调用`$.mobile.loading('show')`,因此加载界面不会显示。同时,在`complete`回调中调用`$.mobile.loading('hide')`确保了一致性,尽管在这个场景下可能是多余的。

### 注意

确保在jQuery Mobile完全加载和初始化之后再调用这些方法,通常是将这些脚本放在`

`元素内部或者是在页面的`$(document).ready()`或`$(document).on('pageinit', function(e) {...})`事件中。