没有太多运气.我正在尝试确定var是否为空.
$('#content').mouseup(function() {
var selection = getSelected();
if (typeof(selection) !=='undefined') {
alert(selection);
}
});
Run Code Online (Sandbox Code Playgroud)
这样做是抓取用户选择的任何文本 - 但它显示一个空警报,即使用户只是在div上鼠标.
Jam*_*rgy 15
说啊:
if (selection) {
alert(selection);
}
Run Code Online (Sandbox Code Playgroud)
如果定义了成员,非空,非假,非空字符串或非零,则Javascript中的简单true/false测试返回true.
此外,在Javascript中,某些东西可以等于值undefined或实际上是未定义的(意思是,不存在这样的命名对象).例如
var x = undefined;
alert(x===undefined); /* true; */
alert(x); /* false */
x=1;
alert(x); /* true */
alert(y===undefined); /* reference error - there's nothing called y */
alert(y); /* reference error */
alert(typeof y === "undefined"); /* true */
Run Code Online (Sandbox Code Playgroud)
正如下面的评论所指出的,如果你不确定是否存在某些东西,你应该先测试一下typeof.
您的代码对于检测未定义的值非常准确,这意味着即使没有选择,该函数也会返回某种值.
如果函数返回一个选择对象(如window.getSelection函数),则检查isCollapsed属性以查看选择是否为空:
if (!selection.isCollapsed) ...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
48123 次 |
| 最近记录: |