javascript - 如何选择焦点文本区域中的所有文本(在 Safari 中)

标签 javascript jquery select focus

我不明白为什么当 textarea 获得焦点时我无法获取要选择的 textarea 的内容。

请访问此处的实例:http://jsfiddle.net/mikkelbreum/aSvst/1

使用 jQuery,这是我的代码。 (在 SAFARI 中)它使文本在点击事件的情况下被选中,而不是焦点事件:

$('textarea.automarkup')
.mouseup(function(e){
    // fixes safari/chrome problem
    e.preventDefault();
})
.focus(function(e){
    $(this).select();
})
.click(function(e){
    $(this).select();
});

最佳答案

最简单的做法是将您现有的代码与计时器结合起来,因为 focus 事件在 WebKit 中通常为时过早:

jsFiddle 示例:http://jsfiddle.net/NWaav/2/

代码:

$('textarea.automarkup').focus(function() {
    var $this = $(this);

    $this.select();

    window.setTimeout(function() {
        $this.select();
    }, 1);

    // Work around WebKit's little problem
    function mouseUpHandler() {
        // Prevent further mouseup intervention
        $this.off("mouseup", mouseUpHandler);
        return false;
    }

    $this.mouseup(mouseUpHandler);
});

关于javascript - 如何选择焦点文本区域中的所有文本(在 Safari 中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6201278/

相关文章:

javascript - 根据用户输入有条件地显示表单字段

javascript - 单击链接以显示图像

javascript - Bootstrap Accordion 为特定面板添加事件类

javascript - 防止点击事件触发父操作

sql - MySQL:是否可以返回 "mixed"数据集?

javascript - 如何在基于类的组件中创建引用并将其传递给 react 中的功能组件?

javascript - $(this) 选择器及其后代

javascript - 以编程方式结束对所有可编辑实例的编辑

python - 从坐标元组列表中选择最小值

php - mysql SELECT WHERE 查询在 elseif 循环内不执行任何操作并且没有错误