面試問題第二彈-文本內(nèi)容的實時同步
面试的时候被问到这样一个问题,两个文本框,怎样实现第二个文本框的内容和第一个文本框的内容实时同步。
我的第一反应是,只要取到input1的value值,使input2的value与其相等就可以了。但面试官又补充了需要实时同步,那么问题来了,如何实时同步。
首先,我想到的是Angular框架,正好可以完美的解决这个问题,但是问题好像并没有那么复杂,而且考题的重点是JS,那么需要用JS来接触这个问题。
然后,我想到了用定时器setInterval进行刷新,
<script>
var a=document.getElementById("input1"),
b=document.getElementById("input2");
setInterval(function(){
b.value=a.value},50)
</script>
这个方法可行,但是用定时器消耗内存,显然大题小用。
那么,正确的方法是什么呢?
input属性有onchange属性,
<input id="input1" onchange="document.getElementById("input2").value=this.value" />;
<input id="input2" onchange="document.getElementById("input1").value=this.value" />;
但这样仅能实现input1失去聚焦的时候,input2的值才随着发生变化,
所以我们有用到onkeyup属性:
<input id="input1" onkeyup="document.getElementById("input2").value=this.value" />;
<input id="input2" onkeyup="document.getElementById("input1").value=this.value" />;
这样这个问题被完美解决
點擊查看更多內(nèi)容
1人點贊
評論
評論
共同學習,寫下你的評論
評論加載中...
作者其他優(yōu)質(zhì)文章
正在加載中
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦