<input type="text" value="一个">
<button>点击</button>
<script type="text/javascript">
$("button").click(function () {
var v = $("input").val()
$("input").focus().val(v)
})
</script>
需要准备的材料分别是:电脑、html编辑器、浏览器。
1、首先,打开html编辑器,新建html文件,例如:index.html。
2、在index.html的<script>标签中,输入js代码:
$('body').append(document.activeElement.id == "a" ? 'true': 'false')
$('#a').focus(function () {
$('body').append(document.activeElement.id == "a" ? 'true': 'false')
})
3、浏览器运行index.html页面,此时会发现false代表没有聚焦,点击聚焦后发现打印了true。
this是什么呀?默认应该是window对象,火狐对window.focus()不感冒,可能是出于安全上的顾虑所以不允许脚本这样控制窗口,但是对页面中但凡可以获得焦点的dom对象都是有效的,所以你可以考虑用页面中的某个dom来代替window
ps:如果你的this不是指向window对象的话就当我是在废话好了,呵呵