Goo*_*bot 19 javascript javascript-events
我有一个简单的过去事件
document.getElementById('paste_area').addEventListener('paste', function() {
document.getElementById('notice').innerHTML='Text was successfully pasted!';
alert('Pasted');
}, true);
Run Code Online (Sandbox Code Playgroud)
可以在这里找到一个工作示例http://jsfiddle.net/XEQzz/
警告和通知将在粘贴之前显示.如何在粘贴事件实际完成后延迟警报操作?
I H*_*azy 28
您可以将警报放入setTimeout.
setTimeout(function() {alert('Pasted');}, 0);
Run Code Online (Sandbox Code Playgroud)
这将延迟代码,直到值更新为止.
只要记住,this在setTimeout回调将有较封闭的环境不同的值.
如果你需要一个对外部的引用this,它将是元素,那么在变量中引用它...
var self = this;
setTimeout(function() {alert(self.value);}, 0);
Run Code Online (Sandbox Code Playgroud)
或者使用.bind() (在大多数支持的浏览器中都支持addEventListener.较旧的Safari不支持它.) ...
setTimeout(function() {alert(this.value);}.bind(this), 0);
Run Code Online (Sandbox Code Playgroud)