【发布时间】:2014-01-26 00:55:43
【问题描述】:
使用 JavaScript(没有 JQuery)如何判断网页上的特定元素是否被选中?
例如,我有一个网页,我选择了网页的一部分。 “选择”是指:
- 在网页上将开始选择的位置左键单击鼠标(并按住鼠标按钮)。
- 将鼠标拖到所需选择区域的末端。
- 松开鼠标按钮以完成选择。
(注意:我真的认为我不需要为“选择页面的一部分”提供这种详细程度,但很多人似乎对我的意思感到困惑)。
然后在 JavaScript 中,我想查看一些元素并识别网页所选区域内的任何元素:
function a(e){
/**
* I want to find out if element "e" is within the
* "Selected" area of the web-page, and take some action if it is.
* (not to be confused with "checked" or "unchecked" for "checkbox"
* elements, or "selected" for "option" elements).
**/
}
var x,k,f,j,r;
x=document.forms;
for(k=0;k<x.length;++k){
f=x[k];
for(j=0;j<f.length;++j){
r=(f[j].type.toLowerCase());
if(r=="checkbox")
a(f[j]);
}
}
【问题讨论】:
-
很棒的精简代码。
-
您的问题不清楚您所说的选中是什么意思?您的意思是单击一个复选框并查看它是否被“选中”又名“选中”,还是您实际上是指在页面上拖动鼠标来选择文本/元素?你的最终目标是什么,请使用真正的变量名,它们是缩小器是有原因的。
-
阅读起来并不难。遍历所有表单并查看每个元素以查看它是否是一个复选框。 OP 然后想查看它是否在用户在页面上所做的选择中。
-
@epascarello - 我的意思是“网页的选定区域”。我在问题中添加了更多细节以澄清这一点。另外,"...请使用真正的变量名...":示例代码已没有 “缩小”。我使用了 "real" 变量名。它们的命名最少是因为:1)这部分代码对实际问题并不直接重要,2)我将此代码放入允许有限数量字符的书签中。
-
混淆了人们的是包含不是很相关的代码,包括复选框和选择的词
标签: javascript html dom