javascript - HTML 浏览器 "text"选择 : select whole words (like in iBooks)

标签 javascript html css selection

我有一个结构:

<span class="word">This</span><span class="word">is</span><span class="word">the</span><span class="word">text</span><span>.</span>

我希望用户能够选择整个单词 (spans, class="words")(在桌面和 iOS 上的浏览​​器中 - 就像在 iBooks 中一样)。

我如何使用 css 设置样式?

正确的做法是什么? (之前没有使用选择)

谢谢。

最佳答案

我知道您没有提到 jQuery - 但对于这种动态的东西,我认为使用它是非常明智的。

将整个交易包装在一个 div 中。

<div id="wordSelector"><spans></div>

然后将 mousedown 事件附加到 div。使用信号量确保仅在鼠标按下期间处理事件。捕获 span 上的鼠标悬停事件,直到注册 mouseup 事件。

注意:这些事件可能需要附加到 document 而不是 div,以确保处理在 div 之外但进入 div 的 mousedown 事件,以及在 mouseup 事件在 div 之外的情况下处理 mouseup .

var spansTouched = [];
var mouseDown = 0;
$("#wordSelector").mousedown( function(){
 //track spans touched with a semaphore
 mouseDown++;
});
$("#wordSelector").mouseup( function(){
 mouseDown = 0;
 //handle spansTouched and then reset it to []
});
$(".word").mouseover( function(){
 if(mouseDown > 0){
  spansTouched.push(this);
 }
});

显然这里还有改进的余地,这只是为了强调使用信号量和鼠标事件的可能方法。

关于javascript - HTML 浏览器 "text"选择 : select whole words (like in iBooks),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11127339/

相关文章:

javascript - javascript 单击后获取数组的下一个元素并将其显示在搜索表单中

javascript - 在 Google Script 中制作 Bootstrap 表单

javascript - 如何延迟 Jquery UIBlock 插件?

php - HTML 输入名称与数据库列名称的对应关系 : how to protect from possible attacks

javascript - 我可以确保在 HTML5 中指定的矩形之外没有绘制像素吗?

javascript - Jquery 单击另一个元素并显示选择选项

javascript - 如何同时调用api?

css - DIV float 问题

javascript - 在div上添加类 mouse enter mouse leave and click

html - 你如何处理 Internet Explorer?