jQuery Mobile打破了我的网站

jas*_*ton 8 jquery-mobile

当我只在移动触摸屏设备上时,我在我的网站上加载了jQuery Mobile.当我这样做的时候.它弄乱了一切.例如,选择菜单不能正常工作,页面底部会出现"加载,加载,未定义"字样.我知道我错过了什么,但不知道是什么.

关于我可能遗失的任何想法?

谢谢

编辑:好的,所以除了jQuery和jQuery Mobile之外,我拿出了我正在运行的所有脚本.我首先调用jQuery,然后调用jQuery Mobile.它仍然打破了网站的各个方面.

它破坏了什么: - 我无法通过导航栏导航到任何其他页面,如果我点击导航项目,并查看网址,则会显示正确的网址(其中包含#),例如:/#/ about-us /然后,它只是重定向到主页,页面变白

  • 选择菜单有奇怪的结果.它打印出旁边的选择权中的任何内容.如果您在ipad上以横向模式并且单击选择,它会将您发送到页面底部(很奇怪).

  • 它打印出'loading'两次,并在页面底部打印一次'undefined'

我所有的脚本都是jQuery和jQuery Mobile.我还应该提一下,我正在使用wordpress,所以它可能已经排队了一些其他脚本(我已经取消注册了Wordpress的jquery版本并将我自己排队)

其他人遇到这些问题?

dvk*_*vk3 12

jQueryMobileAjax一个替换普通链接,因此每个页面都可以通过文档页面上的ajax文本加载:

(..) Ajax is used to load the contents of each page into the DOM as you navigate, and the DOM ready handler only executes for the first page. To execute code whenever a new page is loaded and created, you can bind to the pageinit event. This event is explained in detail at the bottom of this page.

如果你想禁用ajax加载的单个链接你应该写这样的东西:

<a href="/some_page" data-ajax="false" >link</a>
Run Code Online (Sandbox Code Playgroud)

或全球化:

$(document).bind("mobileinit", function() {
  $.mobile.ajaxEnabled = false;
});
Run Code Online (Sandbox Code Playgroud)

jm还会对其他元素进行替换,因此您应该尝试使用data-role属性,例如:

<select id="test" data-role="none">
Run Code Online (Sandbox Code Playgroud)

禁用替换此元素.

  • 工作就像一个魅力. (2认同)