我正在尝试这里找到的示例代码http://api.jquery.com/select/
$(":input").select( function () {
$("div").text("Something was selected").show().fadeOut(1000);
});
现在我的问题是,我是否可以获取确切的选定文本,而不是打印“已选择某些内容”?
我想要针对jQuery .select() 的具体答案。我从这里得到了其他解决方案。
我正在尝试这里找到的示例代码http://api.jquery.com/select/
$(":input").select( function () {
$("div").text("Something was selected").show().fadeOut(1000);
});
现在我的问题是,我是否可以获取确切的选定文本,而不是打印“已选择某些内容”?
我想要针对jQuery .select() 的具体答案。我从这里得到了其他解决方案。
.select()
与获取实际选择文本无关。Select就像.click()
一样:是将处理程序函数绑定到选择事件的一种简单,快捷方式。
正如API文档中所述:
检索当前选定文本的方法因浏览器而异。许多jQuery插件提供跨平台解决方案。
因此,您可以使用element.select(...)
(或更好的做法,element.on("select", ...)
)进行绑定,然后使用众多跨平台解决方案之一来检索所选内容。这是基本思路:http://jsfiddle.net/NjW5a/3/
.Select() 看起来只是在选择特定元素时会触发的事件。但是,要获取文本,您需要使用JavaScript的window.getSelection()函数。
这里是一个示例:http://jsfiddle.net/BCv4Y/3/
$(":input").select( function () { // on selection, show what's selected
$("div").text(window.getSelection()).show().fadeOut(1000);
}
});
<script>
window.onmouseup = mouseup;
function mouseup() {
getSelText();
}
</script>
<script type="text/javascript">
function getSelText() {
var txt = '';
if (window.getSelection) {
alert (window.getSelection());
} else if (document.getSelection) {
alert (document.getSelection());
} else if (document.selection) {
alert( document.selection.createRange().text);
} else return;
}
</script>
.select()
,因此对于这个特定的问题来说并不是真正有用的答案。 - Sumurai8