IE8 中,无法用$.focus()设置input的焦点

  me.on("keydown.autoTableEvent", ‘.waitEdit‘, function (event) {
                if (event.keyCode == 13) {
                    var idx = opt._waitEdit.index(this);
                    if (idx < opt._waitEdit.length - 1)
                        $(opt._waitEdit[idx + 1]).autoSelectWord();
                    return false;
                }
                if (event.keyCode == 38) {
                    var field = $(this).data(‘field‘);
                    var list = opt._waitEdit.filter("[data-field=‘" + field + "‘]");//获取当前一列所有的编辑项
                    var idx = list.index(this);
                    if (idx > 0)
                        $(list[idx - 1]).autoSelectWord();
                    return false;
                }
                if (event.keyCode == 40) {
                    var field = $(this).data(‘field‘);
                    var list = opt._waitEdit.filter("[data-field=‘" + field + "‘]");
                    var idx = list.index(this);
                    if (idx < list.length - 1)
                        $(list[idx + 1]).autoSelectWord();
                    return false;
                }
            })

开始时,没有return false时,除IE8之外,其它浏览器都能回车与上下键切换input的焦点。

但IE8必须加上return false。不加,似乎事件乱窜,调试则进到jquery的其它地方,我没有细追。

这个问题在http://stackoverflow.com/questions/1326993/jquery-focus-sometimes-not-working-in-ie8也有讨论。不过他们的方法没管用。倒是return false解决了!

最近锁表头的方法没找到很好的。用floatTable,但大表要卡个4、5秒才行,难过。

时间: 2024-11-06 11:35:20

IE8 中,无法用$.focus()设置input的焦点的相关文章

WinForm设置控件焦点focus

winform窗口打开后文本框的默认焦点设置,进入窗口后默认聚焦到某个文本框,两种方法: ①设置tabindex 把该文本框属性里的tabIndex设为0,焦点就默认在这个文本框里了. ②Winform的Activated事件 在Form的Activated事件中添加textBox1.Focus(), 即可获得焦点. private void Form1_Activated(object sender, EventArgs e) { textBox1.Focus(); } /* 何问起 hove

在IE8中使用padding设置select控件文字垂直居中

在火狐.苹果.谷歌.欧鹏等主流浏览器中,select下拉表单的文字能够垂直居中,如图: 而在ie8中,select下拉表单的文字基本就是靠底部显示,如图: 那么,如何使得ie8下的select文字垂直居中呢? 答案就是设置select{padding:5px 0;},如图: 如果想使得select有一定的高度,可再设置其height即可. 最后给大家来点笑话吧,解解乏: 1.老师:“在我的课上不允许玩手机,实在不想听的人可以睡觉!” 小明:“可是老师,睡觉之前我想玩会儿手机……” 2.老师:“小

jQuery中使用attribute,prop获取,设置input的checked值

1.prop方法获取.设置checked属性 当input控件checkbox设置了checked属性时,无论checked=""或 checked="checked",$(obj).prop("checked")的结果都是true: 当input控件checkbox没设置checked属性时,$(obj).prop("checked")的结果是false. 设置$("input[name='checkboxall'

文件上传按钮input[type=&quot;file&quot;]按钮美化时在IE8中的bug【兼容至IE8】

首先看一下完成后的效果,鼠标移入可改变为手指的效果. 在此就不加图标了 <label class="file-upload"> <span>上传附件</span> <input type="file" name=""> </label> 在IE8中需要将input透明后还不能完全达到效果,还需要将字体设大一些,撑开input,这是IE自带的兼容问题. .file-upload{ disp

jQuery中使用attribute,prop获取,设置input的checked值【转】

1.prop方法获取.设置checked属性 当input控件checkbox设置了checked属性时,无论checked=""或 checked="checked",$(obj).prop("checked")的结果都是true: 当input控件checkbox没设置checked属性时,$(obj).prop("checked")的结果是false. 设置$("input[name='checkboxall'

js中setTimeout()时间参数设置为0的探讨

起因源于一道前端笔试题: var fuc = [1,2,3]; for(var i in fuc){ setTimeout(function(){console.log(fuc[i])},0); console.log(fuc[i]); } 问:控制台会如何打印? chrome打印结果如下: 虽然setTimeout函数在每次循环的开始就调用了,但是却被放到循环结束才执行,循环结束,i=3,接连打印了3次3. 这里涉及到javascript单线程执行的问题:javascript在浏览器中是单线程

javascript中createTextRange用法(focus)

createtextrange createrange区别: 对象或元素不同,虽然都是返回TextRange.例如:     var r=document.body.createTextRange()    var r=document.createRange() document. createTextRange 可以对body.TEXTAREA.BUTTON创建TextRange,Range -- 范围 返回createTextRange的text和htmlText Js代码 <script

CSS 在IE6, IE7 和IE8中的差别////////////////z

CSS 在IE6, IE7 和IE8中的差别 关于浏览器的最离奇的统计结果之一就是Internet Explorer 版本6,7和8共存.截至本文,Internet Explorer各个版本总共占据了大约65%的市场份额.在网站开发社区,这个数字要小很多,统计显示大概只有40%. 这些统计中比较有趣的部分是,IE6.IE7.IE8之间的数值很接近,这防止了单个Microsoft的浏览器占居统治地位——与过去的情况相反.根据这些令人遗憾的统计结果,在为客户开发网站的时候开发人员对所有当前使用的IE

设置input文本框只读效果

设置input文本框只读效果:在实际应用中可能需要将input文本框设置为只读状态,代码实际非常简单,只要添加一个属性即可.代码如下: <input type="text" value="蚂蚁部落" readonly/> 使用readonly属性即可将文本框设置为只读状态,具体可以参阅<input>标签的readonly属性一章节. 原文地址:http://www.51texiao.cn/HTML5jiaocheng/2015/0521/21