javascript - 测试单击输入字段并生成文本选择

标签 javascript ruby-on-rails ruby rspec capybara

我为输入字段实现了以下行为:如果用户单击该字段,它将把整个输入值设置为选择;

$('.my_div input').on('click', function(event){
    this.setSelectionRange(0, this.value.length);
  }
);

现在我不太确定如何测试这种行为。粗略的想法是触发 单击 ,然后检查字段的选择。但不幸的是,我不知道如何获取输入的当前选择。

欢迎提供有关所描述行为的测试方法的任何提示!

最佳答案

紧接着抓取选择的开始和结束,如果开始为 0 且结束为输入长度,则所有内容都被选中。

$('.my_div input').on('click', function(event){
    this.setSelectionRange(0, this.value.length);

    var start = event.target.selectionStart;
    var end = event.target.selectionEnd;
    if(start==0 && end==$(this).val().length)
        console.log('everything is selected');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<div class='my_div'>
  <input type='text'>
  </div>
<input type='text'>

关于javascript - 测试单击输入字段并生成文本选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31249914/

相关文章:

ruby-on-rails - ActiveAdmin 不在主菜单上进行模型翻译

ruby-on-rails - 更好地理解 Rails 中的格式关键字

javascript - 标签过滤器列表

javascript - Promise `then` 部分中的“if”语句

ruby-on-rails - Bootstrap 形式的 gem,奇怪的错误

ruby-on-rails - Rails + Amazon s3 + jquery 文件上传 : upload progress bar not working?

需要 Ruby Koans 类或模块

ruby-on-rails - 如何在 Rails 上创建 Controller 和模型后仅创建 View

javascript - Dojo Dgrid 行选择不起作用并检索 dgrid 选择器的值?

javascript - 尝试更改音量时出现 IndexSizeError