【问题标题】:Jquery mobile 1.4 data-enhance=false don't workJquery mobile 1.4 data-enhance=false 不起作用
【发布时间】:2014-07-07 10:30:28
【问题描述】:

我正在尝试将我的 JQM 应用程序从 1.3 更新到 1.4,但在某些元素上,data-enhance="false" 不再起作用……这些元素仍然得到增强……

jsfiddle:http://jsfiddle.net/matthieubrunet/RB9Qw/

<div data-role="page" id="home">
    <div data-role="header">
         <h1>JQM 1.4.3</h1>
    </div>
    <div data-role="content">
        <label for="yes">Yes</label>
        <input type="checkbox" name="yes" id="yes" data-enhance="false" />
    </div>
</div>

我尝试激活 ignoreContentEnabled 选项,但它不起作用:

$( document ).on( "mobileinit", function() {
  $.mobile.ignoreContentEnabled = true;
});

这是一个错误,还是我错过了什么?

非常感谢您的帮助。

【问题讨论】:

  • 不是叫data-enhanceD吗?默认情况下,它设置为 false,因此 JQM 启动并进行增强。如果你自己做,你应该设置它&lt;el data-enhanced="true"&gt;。但请注意,目前并非所有小部件都实现了此选项。
  • 没有。它只是data-enhance,而不是data-enhanced
  • data-enhanced 是 1.4 中的一个新选项,旨在标记手动增强的元素。它可以在我的情况下工作,除了 JQM 认为该元素是增强的。数据增强保留在文档中:api.jquerymobile.com/data-attribute
  • 使用$.mobile.keepNativejsfiddle.net/Palestinian/egD6q
  • 确实如此。或者只是 data-role="none"。但这并没有解释为什么数据增强不起作用……无论如何,谢谢

标签: jquery jquery-mobile


【解决方案1】:

输入你的脚本

$( document ).on( "mobileinit", function() {
  $.mobile.ignoreContentEnabled = true;
});

就在加载 jquery mobile js 之前。官方文档指出,一旦加载了 jquery mobile js,就会调用 mobileinit:http://api.jquerymobile.com/global-config/

因此顺序应该是:

jquery.js -> mobileinit 绑定脚本-> jquery.mobile.js

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-25
    • 1970-01-01
    • 2023-03-25
    • 2013-09-15
    • 2011-12-28
    • 2012-05-09
    相关资源
    最近更新 更多