Emp*_*ger 1 javascript jquery textarea focus
我在Stack Overflow上发现了这个问题,并使用了顶部答案中给出的代码。
否则,它的工作非常好,但有一个缺点。在我的页面上,我有多个文本区域。实际上,我使用的选择器仅为"textarea"。
但是,当从一个文本区域“制表”到另一文本区域(使用Tab键跳到下一个文本区域)时,显然不会触发焦点事件,并且文本也不会被选中。
如何修改该代码以通过单击和按Tab起作用?
JSFiddle在这里;http://jsfiddle.net/qQDbZ/ 我在Chrome上,并且在单击textarea时确实选择了全部,但制表键却没有。
我可以通过以下解决方法来解决此问题:
$('textarea').focus(function() {
var $this = $(this);
$this.select().mouseup(function() {
$this.off('mouseup');
return false;
});
}).keyup(function(e) {
if(e.which === 9) {
this.select();
}
});
Run Code Online (Sandbox Code Playgroud)
演示:http://jsfiddle.net/KfFPM/3/
我在Chrome 21,Safari 6,Firefox 14,Opera 12和IE 9中测试了上述内容。我现在很高兴。在向前移动时向后移动和向后移动+向后移动时有效。
绑定到keydown无效。
我仍然认为此解决方法是不必要的。我最好的猜测是,Webkit浏览器会在文本区域内检测到该选项卡作为按键,因此取消选择文本,就像在文本区域中选择了某些文本然后开始输入时,任何浏览器都一样。
| 归档时间: |
|
| 查看次数: |
1881 次 |
| 最近记录: |