Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.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 为什么控制台在prototype.js中的粘贴或剪切事件中将e.explicitOriginalTarget.value显示为set,但计算为空字符串_Javascript_Firefox_Events_Prototypejs_Dom Events - Fatal编程技术网

Javascript 为什么控制台在prototype.js中的粘贴或剪切事件中将e.explicitOriginalTarget.value显示为set,但计算为空字符串

Javascript 为什么控制台在prototype.js中的粘贴或剪切事件中将e.explicitOriginalTarget.value显示为set,但计算为空字符串,javascript,firefox,events,prototypejs,dom-events,Javascript,Firefox,Events,Prototypejs,Dom Events,打开console并在其中一个字段中输入输入,如果随后剪切文本,请检查console中的值 如果您console.log(例如explicitOriginalTarget)您可以看到,它包含一个名为value的属性,该属性确实包含输入剪切后的新正确值。但是,在下一行,如果您尝试直接console.log(e.explicitOriginalTarget.value),属性,记录切割之前的输入值 不知道这是怎么发生的?有人有什么想法吗 我尝试了一种类型的e.explicitOriginalTarg

打开console并在其中一个字段中输入输入,如果随后剪切文本,请检查console中的值

如果您
console.log(例如explicitOriginalTarget)您可以看到,它包含一个名为value的属性,该属性确实包含输入剪切后的新正确值。但是,在下一行,如果您尝试直接
console.log(e.explicitOriginalTarget.value),属性,记录切割之前的输入值

不知道这是怎么发生的?有人有什么想法吗

我尝试了一种类型的e.explicitOriginalTarget.value,它返回了我期望的“string”

如果有人能想出任何其他方法来检查输入是否在剪切中删除了所有文本,我也愿意接受这些方法。我被迫在这里使用prototype,而且我对它比较陌生,所以我可能忽略了一些内置功能。

上面说:

“剪切”事件在删除选定数据之前触发

因此,当事件触发时,
.value
仍将是剪切前的值。 如果您
console.log
事件/事件目标,然后(通过单击它;)对其进行检查,当然会进行更改,因为此时事件的处理早已完成。记住:您正在记录的目标是一个活动的DOM节点

我需要一个
setTimeout(…,0)
来检查剪切后的值,这是一个非常简单的工作


或者使用
input
而不是
cut
事件,如果我的要求允许的话…

@Huangism感谢您的帖子,但这并不能解决问题。它仍然只是在切割之前给出值。基本上,我要么需要它,要么需要复制到剪贴板的位,要么需要一个后剪切事件