我在尝试http://api.jquery.com/select/
中找到的示例代码$(":input").select( function () {
$("div").text("Something was selected").show().fadeOut(1000);
});
现在我的问题是不是打印“选择了某个东西”,我可以获得精确选择的文字吗?
我想要jquery .select()具体的答案。我从here
获得了其他解决方案答案 0 :(得分:10)
.select()
与检索实际选定的文本无关。 Select就像.click()
一样:将处理函数绑定到select事件的简便方法。
它在the API docs中说:
检索当前所选文本的方法因浏览器而异。许多jQuery插件提供跨平台解决方案。
因此,您与element.select(...)
(或更好,element.on("select", ...)
)绑定,然后使用众多跨平台解决方案之一来检索选择。这是基本的想法:http://jsfiddle.net/NjW5a/3/
答案 1 :(得分:5)
.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);
}
});
也许,如果新版本的jquery带有类似 $(this).selectedVal()的东西,那将会很棒。希望有所帮助
答案 2 :(得分:0)
<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>