通常,当一个标记的文本被拖放到HTML输入元素中时,标记的文本会在该输入字段中的游标位置(并添加到任何现有文本)进行复制。我想用jQuery改变这种行为,使之类似于(例如)的行为。Firefox address字段,即:
有谁知道实现这一目标的方法吗?任何帮助都是非常感谢的。
在我看来,为了达到这个目的,我需要识别某种“拖放”事件,并访问被拖动的文本,尽管我不知道这是否可能。我所想到的场景的(非功能性)模拟如下所示:
HTML:
<p>drag-and-drop text into this:</p>
<input id="giveittome" value="some text"></input>
<p>other text</p>
<p>more text</p>
<p>whatever</p>JavaScript:
$('#giveittome').on('drag-and-drop' , function (event) {
$(this).val(event.getDraggedText());
});source @ jsFiddle。
发布于 2013-05-07 16:03:56
试试这个:(它将在大多数现代浏览器中工作)
$('input').on('keydown change paste drop',function(event) {
var _this = this;
setTimeout(function() {
console.log(_this.value, event.type);
}, 0); //this timeout is necessary to get the value
});小提琴:http://jsfiddle.net/maniator/7skY7/
https://stackoverflow.com/questions/16423514
复制相似问题