当我在理解 emmet 的编辑器中输入以下文本时:
div.fragment>pre>code.javascript[contenteditable]
Run Code Online (Sandbox Code Playgroud)
它扩展为:
<div class="fragment">
<pre><code class="javascript" contenteditable=""></code></pre>
</div>
Run Code Online (Sandbox Code Playgroud)
这几乎是完美的,除了布尔属性不应该有引号。有没有办法编写快捷方式,使其像这样正确扩展:
<div class="fragment">
<pre><code class="javascript" contenteditable></code></pre>
</div>
Run Code Online (Sandbox Code Playgroud) 这让我疯了.我正在注册多个mouseout事件,即使我正在使用removeEventListener()删除它们.我尝试了各种各样的变化.基本上,一旦mouseout事件发生,我想摆脱它,因为用户将翻阅不同的图像以查看大预览.它工作正常,但注册的多个事件让我感到震惊.
this.removeEventListener('mouseout', handler, false);
Run Code Online (Sandbox Code Playgroud)
没别的了.我不确定我在这里做什么.我似乎无法摆脱mouseout事件,他们只是继续打桩.
document.querySelector('.grid').addEventListener('mouseover',function(e) {
if (e.target.tagName==='IMG') {
var myElement=document.createElement('div');
myElement.className='preview';
e.target.parentNode.appendChild(myElement);
var handler = e.target.addEventListener('mouseout', function (d) {
var myNode = d.target.parentNode.querySelector('div.preview');
console.log(d.target.parentNode);
if (myNode) {
myNode.parentNode.removeChild(myNode);
}
this.removeEventListener('mouseout', handler, false);
});
} //
}, false); // addEventListener
Run Code Online (Sandbox Code Playgroud) 我有一个问题,理解为什么名字在这里得到一个值
(function() {
(function() {
var name = 'Fido';
})();
})();
console.log(name + ' says woof'); //Output: Fido says woof
Run Code Online (Sandbox Code Playgroud)
变量名称不应该是内部函数的本地名称吗?
javascript ×2
emmet ×1
events ×1
hoisting ×1
html ×1
removechild ×1
scope ×1
shortcut ×1
variables ×1