Angularjs 在rtl和ltr中自动更改类
我正在尝试为我的应用程序添加Angularjs 在rtl和ltr中自动更改类,angularjs,Angularjs,我正在尝试为我的应用程序添加rtl ltr支持。 问题是:假设有这样的输入: <span class="sp-right"> <label> Number: </label> </span> 编号: 是否可以通过编程方式将所有sp right类更改为sp left 这是一个好主意,在ltr和rtl支持的角度 感谢使用jQuery $(".sp-right").each(function(){ $(th
rtl ltr
支持。问题是:假设有这样的输入:
<span class="sp-right">
<label>
Number:
</label>
</span>
编号:
是否可以通过编程方式将所有sp right
类更改为sp left
这是一个好主意,在ltr和rtl支持的角度
感谢使用jQuery
$(".sp-right").each(function(){
$(this).removeClass("sp-right").addClass("sp-left");
});
上述代码将仅在代码序列中运行一次。将其置于事件侦听功能中,如:
$("button.trigger").click(function(){
$(".sp-right").each(function(){
$(this).removeClass("sp-right").addClass("sp-left");
});
});
当事件触发时,它将运行
或者您可以构建一个指令。我在为你写信
_module.directive("spRight", function () {
return {
restrict: 'C',
link: function (scope, element, attrs) {
element.removeClass("sp-right").addClass("sp-left");
}
};
});
更新:
app.directive("buttonThatTrigger", function () {
return {
restrict: 'C',//target all elements with class button-that-trigger
link: function (scope, element, attrs) {
element.click(function(){
$(".sp-right").each(function(){
$(this).removeClass("sp-right").addClass("sp-left");
});
});
}
};
});
然后在按钮中添加一个类:
<button class="button-that-trigger"></button>
还有一种方法。与其更改页面上的多个类(虽然没有那么困难),不如只更改应用程序容器顶层的一个类,然后使用CSS管理所有类 例如:
<span class="sp-direction">
<label>Number:</label>
</span>
现在,您需要做的就是更改saybody
标记上的sp right
/sp left
类:
<body class="sp-{{spClass}}">
“是否可以通过编程方式将所有sp right类更改为sp left”当然可以。“在angular中支持ltr和rtl是否是个好主意”取决于您的应用程序和受众。如果需要的话,那为什么不呢。thx,那么你能告诉我怎样才能做到这一点吗?让我们来吧。老兄,我找到了解决办法@dfsq帮了我很多忙,我得到了一个答案:你怎么看?这两个答案都要求你添加或更改表单元素的属性。如果要立即完成,解决方案将无法工作。您需要存储设置。当步骤更改时,它将运行类修复功能。设置可以存储在服务中。对于步骤更改,然后运行修复函数,您需要找到一个eventlistener,然后将类修复函数设置为Callback。有很多表单和类。所以我在寻找@Aokadaoc说的一些棘手的事情
<body class="sp-{{spClass}}">
$rootScope.spClass = 'left';
$rootScope.spClass = 'right';