小编Tyb*_*itz的帖子

需要/首选事件捕获的现实世界示例?

addEventListenerDOM方法支持的第三可选,布尔参数(将useCapture),以指示该功能是否应使用事件冒泡或事件捕捉作为传播方法。在本文中,差异很好地展示了(单击示例并查看代码)。

从 SO 和博客文章的其他问题中,我得出结论,事件冒泡是首选,主要是因为 IE8- 不支持它。

假设我只需要支持 IE9+,在什么情况下事件捕获比事件冒泡更必要或更受欢迎?换句话说,在什么情况下让事件先在最外层元素上执行,然后在最内层元素上执行会更好?我正在寻找一个简单的、真实的例子来演示事件捕获的使用......

javascript requirements event-propagation dom-events event-capturing

11
推荐指数
1
解决办法
3377
查看次数

语义标记:为什么<header>而不是<div id ="header">?

好吧,所以我理解关于语义标记的炒作:它增强/进一步指定搜索引擎的元素或页面的含义,因此也为人类阅读搜索结果.微格式等的所有信用<h1>, <h2>, <p>,因为这些标签表示层次结构和/或特定目的,并为页面添加含义.

但为什么现在有标签<aside>, <header>, <footer>?他们的优势是什么<div id="aside/header/footer">

这些标签没有特定的子属性或属性,如<audio>, <form>, <img>标签(src,action等),我很难想象它意味着搜索引擎性能的这种改进,以寻找标头标签而不是标头ID.此外,如果初学者在使用这些标签时出错,那么它会不会更糟,因为错误会一直下降到DOM节点级别?

那么为什么有新的HTML'语义'标签没有明显优于普通的'div'?或者,如果这是错误的,有什么好处?

编辑:我正在寻找的答案是安东尼在这个帖子的第4条评论中指出的链接:http://www.w3.org/TR/html5/sections.html.

存在标签的理由<aside>, <header>, <footer>是:

分段内容是定义标题和页脚范围的内容. - W3C

html html5 semantic-markup

6
推荐指数
1
解决办法
9071
查看次数

Destructure对象参数,还要引用参数作为对象吗?

使用ES6,您可以在函数参数中构造对象:

({name, value}) => { console.log(name, value) }
Run Code Online (Sandbox Code Playgroud)

等效的ES5将是:

function(params) { console.log(params.name, params.value) }
Run Code Online (Sandbox Code Playgroud)

但是,如果我想什么了一个既参考params对象和嵌套的属性valuename?这是我得到的最接近的,但缺点是它不能用于箭头函数,因为它们无法访问该arguments对象:

function({name, value}) {
  const params = arguments[0]
  console.log(params, name, value)
}
Run Code Online (Sandbox Code Playgroud)

javascript destructuring ecmascript-6 object-destructuring

6
推荐指数
1
解决办法
1062
查看次数

使用 React JSX,将静态值 prop 放在花括号中是否会产生任何开销?

我知道我们可以在 JSX 元素中传递动态变化的 props,如下所示:

<label htmlFor={dynamicId}/>
Run Code Online (Sandbox Code Playgroud)

我们可以像这样传递静态值:

<label htmlFor="staticId"/>
Run Code Online (Sandbox Code Playgroud)

但以下情况呢:

<label htmlFor={'staticId'}/>
Run Code Online (Sandbox Code Playgroud)

最后一行是否有(尽管很小)性能开销(内部 React 缓存机制/每次渲染上的新字符串)?最后一行代码是一种不好的做法还是无关紧要?

jsx reactjs

4
推荐指数
1
解决办法
933
查看次数

JS Filesystem API:访问本地系统上的 JS FileEntry?

我正在测试一些新的 JS 文件系统功能,即在本地文件系统中创建一个空文本文件。我正在从本地路径 (file:///) 运行 HTML 和 JS 文件。为此,我使用--allow-file-access-from-filesCLI 的标志启动了 Google Chrome。文件系统请求是持久的(并且有效)。

我阅读了有关文件系统的不同帖子,复制并修改了教程中的一些代码;当我启动 HTML 文件时,我的自定义成功/失败消息将输出在控制台中;

这是结果:

Opened file system:/   // this is the root path of the JS Filesystem.

/wtf.txt  // this is the name and path of the text file I created+ it's a success
Run Code Online (Sandbox Code Playgroud)

但是,当我查看目录(系统和应用程序根目录)时,没有具有我分配给它的名称的 .txt 文件。我怎么知道 Javascript 到底在哪里写了这个文件?在什么“根”中(因为“根”不能被分配)?文件系统是“沙箱”是什么意思?我无法访问本地驱动器上的(虚拟?)内容,而只能使用 JS?如果是这种情况,有没有办法提示用户保存文件?

预先感谢您的回答

javascript filesystems file-io html5-filesystem

2
推荐指数
1
解决办法
3146
查看次数