创建范围功能在除IE以外的其他浏览器中不起作用
createRange function is not working in other browsers except IE
我有一个文本框。当我写第一个文本时,java脚本函数会触发检查它是否是一个数字。
对于IE,以下代码返回-1值,但其他浏览器它不会提醒任何值。请帮助我
var selected = document.selection.createRange();
var decInSel = selected.text.indexOf('.');
hasNegInSel = selected.text.indexOf('-') != -1;
alert(decInSel);
document.selection.createRange()
IE<9 ...您以下功能用于跨浏览器支持
function getSelectedText() {
if (window.getSelection) { // all browsers, except IE before version 9
var selectionRange = window.getSelection ();
return selectionRange.toString();
} else {
if (document.selection.type == 'None') {
return "";
} else {
var textRange = document.selection.createRange();
return textRange.text;
}
}
}
参考这里
所以你的完整代码看起来像这样:
var selected = getSelectedText()
var decInSel = selected.indexOf('.');
hasNegInSel = selected.indexOf('-') != -1;
alert(decInSel);
使用
window.getSelection((
chrome 是否支持文档选择?
其他浏览器使用文本框的selectionStart
和selectionEnd
属性。您可以使用以下命令在这些浏览器的文本框中获取所选文本:
var input = document.getElementById("textBox");
var selectedText = input.value.slice(input.selectionStart, input.selectionEnd);
相关文章:
- 是什么让一个“;Uncaught RangeError:超过了最大调用堆栈大小“;错误(Chrome,在其他浏览器中显示
- jquery代码在Mozilla中有效,但在其他浏览器上无效
- java脚本在Chrome和其他浏览器中对LocaleTimeString的不同行为
- Javascript的某些部分在Chrome中不起作用,但在其他浏览器中可以完美工作
- 如何隐藏空<span>在IE中使用javascript.(注意,在其他浏览器中工作正常)
- 我的时间倒计时脚本在谷歌浏览器中工作正常,但在其他浏览器中打开时它显示为南楠
- 使用一个Javascript函数提交多个表单可以在FF中工作,而不需要其他浏览器
- 带有Safari的Javascript;不起作用——所有其他浏览器都起作用
- Javascript可以在chrome中使用,但不能在其他浏览器中使用
- 有没有一种方法可以在过滤掉iOS Chrome、Firefox和其他浏览器的同时检测iOS safari
- 在其他浏览器中打开页面时,令牌未保存在$window.sessionStorage中
- 无法从IE中的data.responseText获取结果,但在其他浏览器中工作
- 在Firefox中使用锤子捏 错误地定向 - 适用于所有其他浏览器
- 索引在IE中导致错误;在其他浏览器中工作
- 将JSON对象转换为敲除observable在IE8中不起作用,但在所有其他浏览器中都起作用
- Javascript可以在Safari上运行,但不能在任何其他浏览器上运行
- 滑动在IE中不起作用.但它在所有其他浏览器中都能正常工作
- 滑块图像在Internet Explorer中不起作用,但在其他浏览器中有效
- 我怎样才能摆脱chrome或其他浏览器中的录音符号
- 这个JavaScript / jQuery代码是否在ie8或其他浏览器中泄漏