我已经知道dir="rtl"
将使文本位于右侧;但是,我希望在input
元素中写入某些内容时有条件地发生这种情况。
我一直在考虑禁用dir="rtl"
,直到在input
元素中输入了一些内容,然后才启用rtl
。但是,这样做的问题在于更改所隐含的“刷新页面”要求。
这是带有文本的简单下拉框。
<Select class="textToRight" dir="rtl">
<div class = "toRight">
<option class="this1"> TEXT1</option>
<option class="this2"> TEXT2</option>
<option class="this3"> TEXT3</option>
</div>
</select>
<input class ="dontChange" placeholder="dontChange"></input>
<input class ="change" placeholder="change"></input>
答案 0 :(得分:0)
要回答您的问题,是的,您可以通过附加事件处理程序来修改一个元素的属性,同时触发另一个元素的事件。
根据您的情况,您可以将其附加到focusin
和focusout
事件中。
var selectBox = document.querySelector(".textToRight");
var changeInput = document.querySelector(".change");
changeInput.addEventListener("focusin", function() {
selectBox.dir = "rtl";
});
changeInput.addEventListener("focusout", function() {
selectBox.dir = "ltr";
});
<select class="textToRight">
<div class="toRight">
<option class="this1"> TEXT1</option>
<option class="this2"> TEXT2</option>
<option class="this3"> TEXT3</option>
</div>
</select>
<input class="dontChange" placeholder="dontChange"></input>
<input class="change" placeholder="change"></input>
但正如 David Thomas 所说,在div
中包含select
是not valid HTML。
此外,我认为您正在滥用dir
属性,该属性用于指示元素文本的方向性(例如英语和阿拉伯语)。
答案 1 :(得分:0)
这是我对onkeyup()的了解。但是我仍然遇到麻烦。
JS
enter code here
import java.util.*;
import java.math.*;
public class Main
{
public static void main(String[] args) {
Scanner s=new Scanner(System.in);
long l=s.nextLong();
BigInteger b=new BigInteger(String.valueOf(l));
BigInteger p=b.nextProbablePrime();
System.out.println(p);
}
}
我不知道如何制作代码段,但通过对其进行测试,它可以工作。但是,我现在遇到的问题是我无法还原它。那我可以对文本的长度做个条件吗?如果== 0,则执行ltr .. else dir = rtl。