Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何检测一个";拖拽;在输入中?_Javascript_Jquery_Html_Javascript Events - Fatal编程技术网

Javascript 如何检测一个";拖拽;在输入中?

Javascript 如何检测一个";拖拽;在输入中?,javascript,jquery,html,javascript-events,Javascript,Jquery,Html,Javascript Events,我有一个如下所示的输入字段: <input id="test" value="abdefg" /> 我想要一个jQuery事件来检测我是否在输入字段中拖动文本。我的意思是,你首先选择ab,然后拖动它,这样它就会在g之后结束 有可能检测到这样的东西吗?我不知道拖动文本时会触发任何特定事件。但应该可以只在mousedown上保存字段的值,然后在触发mouseup事件时将其与字段的新值进行比较。如果值已更改,则会拖动某些内容 还是我在这里遗漏了什么?没有专门用于此目的的事件,但此操作

我有一个如下所示的输入字段:

<input id="test" value="abdefg" />

我想要一个jQuery事件来检测我是否在输入字段中拖动文本。我的意思是,你首先选择ab,然后拖动它,这样它就会在g之后结束


有可能检测到这样的东西吗?

我不知道拖动文本时会触发任何特定事件。但应该可以只在mousedown上保存字段的值,然后在触发mouseup事件时将其与字段的新值进行比较。如果值已更改,则会拖动某些内容


还是我在这里遗漏了什么?

没有专门用于此目的的事件,但此操作将被
oninput
事件捕获

例如:


请注意,
oninput
不受IE8及更低版本的支持,但可以使用
onpropertychange
事件对其进行模拟。我有一个插件,用于规范所有主要浏览器的此事件-。

Hm。。。我将试着编写一个JSFIDLE示例,看看它是否有效。我也只是在胡乱摆弄,无法让它工作。拖拽文本时,mouseup事件似乎不是事件触发的。但是,如果你将这个想法与其他答案中提出的输入元素结合起来,它似乎是有效的:(在最新的Chrome和Firefox中测试)好的,最后一个更新,因为我的上一个提琴在按下鼠标按钮时也会触发:@Simon,很好!看起来很有效,我还在做一些测试:DLooks就像一个两步的过程:1。检测文本的选择。2.检测拖动开始/结束事件。复杂的键盘选择和可能的拖动选项(只需鼠标,或允许键盘与箭头键组合)。好问题,尽管+1that@Tim:哈哈:-)很高兴看到其他人为了改变而鼓吹oninput事件!不是真的为我做了什么。@Kees:你说“不是真的为我做了什么”是什么意思?您使用了哪个浏览器来测试它。拖动示例中的文本时,它应使用文本字段的新值的副本更新其后的元素。或者你的意思是它不能让你的果汁继续,因为我知道附近有一个地方,他们可以用那种东西来解决你。。。啊哼!我正在使用IE,当我拖动某个东西时,没有任何东西得到更新。我对喝果汁不太感兴趣;-)@Kees:我没有包括IE的兼容性代码-我现在已经更新了这个示例。我建议使用我链接到的插件,这样输入更改只触发一个事件处理程序,冒泡的工作方式也一样。