Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery Mobile是否在某些标记上禁用增强功能?_Javascript_Jquery_Html_Css_Jquery Mobile - Fatal编程技术网

Javascript jQuery Mobile是否在某些标记上禁用增强功能?

Javascript jQuery Mobile是否在某些标记上禁用增强功能?,javascript,jquery,html,css,jquery-mobile,Javascript,Jquery,Html,Css,Jquery Mobile,我不想要的样式,但我不想将数据增强=false添加到我拥有的每个锚点。我还希望linkBindingEnabled能够工作(从),因为它不会向标记添加自定义类 我可以删除CSS文件中的定义,但我更喜欢用编程的方式。例如,我注释掉了.ui-body-c.ui-link(默认链接),但是页脚中的链接仍然得到了增强。我确信还有其他的小案例,我不想把它弄得一团糟(尽管有时这是唯一的选择) 基本上,有没有一种方法可以禁用元素“选择器”的增强功能?除了手动添加data enhance=false之外,在jQ

我不想要
的样式,但我不想将
数据增强=false
添加到我拥有的每个锚点。我还希望
linkBindingEnabled
能够工作(从),因为它不会向
标记添加自定义类

我可以删除CSS文件中的定义,但我更喜欢用编程的方式。例如,我注释掉了
.ui-body-c.ui-link
(默认链接),但是页脚中的链接仍然得到了增强。我确信还有其他的小案例,我不想把它弄得一团糟(尽管有时这是唯一的选择)


基本上,有没有一种方法可以禁用元素“选择器”的增强功能?除了手动添加
data enhance=false
之外,在
jQuery Mobile
中禁用标记增强的方法很少,但在您的情况下,只有一种单行解决方案:

$(document).on('pagebeforeshow', '#index', function(){       
   $('a').removeClass('ui-link');
});
jsFiddle
示例:

其他解决方案可以在我的其他中找到,为了透明起见,这是我的个人博客。或者找到它。搜索名为:标记增强预防方法的章节

在这里,您将找到如何在选择器级别禁用它的答案,不幸的是,它只适用于本机表单元素,标记不是本机表单元素:

$(document).bind('mobileinit',function(){
     $.mobile.page.prototype.options.keepNative = "select, input";
});  

要禁用选定组件的增强功能,可以添加在jQuery Mobile 1.4.2上测试的
data role='none'


请参见

谢谢-这很有效。但是,我没有使用页面,(我只有
$(document).on('pagebeforeshow',function(){
),所以我对它的工作原理有点困惑(因为我没有指定要加载的页面,尽管我认为JQM会自动创建页面)。你知道任何链接吗?我们可以解释,事件的调用顺序吗?就像我加载新页面时的完整时间线一样。是的,我有另一个答案/文章:如果一个页面上有100多个组件怎么办?你打算将其添加到每一个组件中吗?这正是我想要的,谢谢。还与jQuery Mob一起工作第1.3.2条