我有简单的ol-li构造,想要添加拖拽它.另外我想突出显示不同颜色的悬停项目和dragover项目.但它在WebKit中是一个不寻常的错误.
最后一个元素捕获悬停伪类!为什么?我该怎样预防呢?
这是一个例子:
var lis = document.querySelectorAll("li"),
ol = document.querySelector("ol"),
dragged = false,
dragover = false;
ol.addEventListener("drop", function(event) {
ol.insertBefore(dragged,dragover);
this.classList.remove("insistent");
}, false);
for (var i=0, n = lis.length; i < n; i++) {
lis[i].addEventListener("dragstart", function(event) {
dragged = this;
ol.classList.add("insistent");
}, false);
lis[i].addEventListener("dragover", function(event) {
if (dragover) {
dragover.classList.remove("dragover");
}
event.preventDefault();
dragover = this;
this.classList.add("dragover");
}, false);
}
Run Code Online (Sandbox Code Playgroud) 我同步生成一些命令,并希望两件事:
我写了这段代码:
var spawnSync = require('child_process').spawnSync;
var result = spawnSync('ls', [ '-l', '-a' ]);
var savedOutput = result.stdout;
console.log(String(savedOutput));
Run Code Online (Sandbox Code Playgroud)
因此,我将stdout存储在savedOutput变量中-可以,然后将其注销。但是我还没有将其发送到stdout。如果生成的过程很长,并且一个接一个地编写字符串,那么我会很长时间看到空白屏幕,最后我会看到整个过程的标准输出。
我添加了管道选项:
var spawnSync = require('child_process').spawnSync;
var result = spawnSync('ls', [ '-l', '-a' ], {
stdio: [ 'ignore', 1, 2 ]
});
var savedOutput = result.stdout;
console.log(String(savedOutput));
Run Code Online (Sandbox Code Playgroud)
生成的进程的标准输出通过管道传递到标准输出-可以。但是result.stdout为空。
我尝试使用流:
var spawnSync = require('child_process').spawnSync;
var stream = require('stream');
var grabber = new stream.Writable();
grabber._write = function(chunk, enc, done) {
console.log('Chunk:');
console.log(String(chunk));
done();
};
var result = spawnSync('ls', [ '-l', '-a' …
Run Code Online (Sandbox Code Playgroud)