在Jquery移动组件中以编程方式更改主题
为什么主题“e”没有反映在输出中在Jquery移动组件中以编程方式更改主题,jquery,jquery-mobile,Jquery,Jquery Mobile,为什么主题“e”没有反映在输出中 <!DOCTYPE html> <html> <head> <link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.css" /> <script src="http://code.jquery.com/jquery-1.9.1.min.js">
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.css" />
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.js"></script>
<title>title</title>
<script>
$(document).bind('pageinit', function() {
$('input').attr('data-theme', 'e');
});
</script>
</head>
<body>
<input type="text" />
</body>
</html>
标题
$(document).bind('pageinit',function(){
$('input').attr('data-theme','e');
});
您可能需要触发刷新
$('input').attr('data-theme', 'e').trigger('refresh');
您可能需要触发刷新
$('input').attr('data-theme', 'e').trigger('refresh');
由于
.textinput
不适用于刷新
或创建
,因此这里有一个简单的方法
$('input').closest('div').removeClass('ui-body-c');
$('input').closest('div').addClass('ui-body-e');
输入的默认主题是c
,因此您可以将其从父div中删除,然后添加主题e
。但是,textinput
仍将具有ui-body-c
类,但是ui-body-e
将在添加到父div时覆盖它
由于
.textinput
不能与刷新
或创建
一起使用,下面是一个简单的方法
$('input').closest('div').removeClass('ui-body-c');
$('input').closest('div').addClass('ui-body-e');
输入的默认主题是c
,因此您可以将其从父div中删除,然后添加主题e
。但是,textinput
仍将具有ui-body-c
类,但是ui-body-e
将在添加到父div时覆盖它
似乎没有直接简单的方法来做到这一点 Omar提出了一个可行的解决方案,但这取决于JQM渲染组件的方式。如果JQM的未来版本更改其渲染模型,则这可能不适用 为什么我们不能考虑更换组件本身?(类似于下面的内容)
$('selector').html(''.trigger('create');
如果您的组件有许多属性,那么这种方法可能有点奇怪,但它似乎是可靠的,并且适用于您喜欢动态更改的任何JQM组件。似乎没有直接和简单的方法来做到这一点 Omar提出了一个可行的解决方案,但这取决于JQM渲染组件的方式。如果JQM的未来版本更改其渲染模型,则这可能不适用 为什么我们不能考虑更换组件本身?(类似于下面的内容)
$('selector').html(''.trigger('create');
如果您的组件有许多属性,则此方法可能有点奇怪,但它似乎可靠,并且适用于您喜欢动态更改的任何JQM组件。您测试过它还是根据理论编写的?:-)它不适合我!只是根据理论写作,也可以查阅:)。你用
.buttonMarkup()
函数尝试了任何东西?你测试了它还是用理论写作?:-)它对我不起作用!只是根据理论写作,也可以查阅:)。您使用.buttonMarkup()
函数尝试了任何操作?$(“#输入”).textinput({theme:“e”})代码>上面的代码在初始化输入时有效,但在将输入创建到DOM中之后,最好的方法是添加/删除类。这正是Jquery文档中的内容。但它不起作用!你测试过自己吗?$(“#输入”).textinput({theme:“e”})代码>上面的代码在初始化输入时有效,但在将输入创建到DOM中之后,最好的方法是添加/删除类。这正是Jquery文档中的内容。但它不起作用!你测试过自己吗?