function getFieldSelection(select_field){ word=''; //IE if (document.selection) { var sel = document.selection.createRange(); if (sel.text.length > 0) { word = sel.text; } alert(1); } //FF else if (select_field.selectionStart || select_field.selectionStart == '0') { var startP = select_field.selectionStart; var endP = select_field.selectionEnd; if (startP != endP) { word = select_field.value.substring(startP, endP); } } return word;}
如果 你的文本框和事件源对象是同一个,证明被select()或focus()
<HTML>
<BODY>
<input type="text" name="tt" value="fsdfs55fsfsdghgsfds">
<input type="button" onclick="al();">
<script>
function al()
{
alert(document.selection.createRange().text);
}
</script>
</BODY>
</HTML>
function getFieldSelection(select_field){ word=''; //IE if (document.selection) { var sel = document.selection.createRange(); if (sel.text.length > 0) { word = sel.text; } alert(1); } //FF else if (select_field.selectionStart || select_field.selectionStart == '0') { var startP = select_field.selectionStart; var endP = select_field.selectionEnd; if (startP != endP) { word = select_field.value.substring(startP, endP); } } return word;}
document.selection.createRange()
是通过 DOM获得的 那如何能获得源呢 ?
具体点 就是上例中 怎样在al()函数中获得 name为tt的text对象
我们并不知道是那个特定的文本框 也就是说并不知道他的id或namedocument.selection.createRange()只是通过DOM自身的特性获得的 如何获得源呢?
我尝试document.selection.createRange().parentElement.getAttribute("id")
或 直接document.selection.createRange().id都不行