当用户点击按钮时,我想选择DIV的内容(如点击并拖动时突出显示)。 (隐藏)div包含需要拖动到浏览器外部的第三方应用程序作为输入的文本。换句话说:我想模拟用户选择textarea的内容,单击并将其拖动到另一个应用程序。
我正在使用PrototypeJS框架,我走到了这一步:
我已经非常努力地搜索了一种在html元素中选择文本的方法,但找不到任何东西。 Prototype API似乎没有一个可以选择textarea或元素内容的好函数。它确实有Form.Element.select(),但它只适用于输入字段。
有人能帮助我吗?
答案 0 :(得分:0)
根据the answer I gave yesterday对类似的问题,在Prototype中你可以这样做:
$('elId').observer('click', function(e){
var selectTarget = Event.element(e); // Get the element
if(selectTarget != null) {
if(selectTarget.tagName == 'TEXTAREA' || (selectTarget.tagName == "INPUT" && selectTarget.type == "text")) {
selectTarget.select();
} else if(window.getSelection) { // FF, Safari, Opera
var sel = window.getSelection();
var range = document.createRange();
range.selectNode(selectTarget);
sel.removeAllRanges();
sel.addRange(range);
} else { // IE
document.selection.empty();
var range = document.body.createTextRange();
range.moveToElementText(selectTarget);
range.select();
};
};
});