小编Pau*_*ler的帖子

使用html属性的DOM惩罚

我正在考虑使用HTML5数据属性来简化我的应用程序的第三方脚本.所以,考虑两种情况:

  1. 页面上有10'000个HTML元素<div>Sticker</div>.
  2. 还有其他10'000个HTML元素<div data-id="{{id}}" data-category="{{category-id}}">Sticker</div>.

第二种情况(attrs的存在)可能会影响DOM /渲染性能,不是吗?如果是这样,多少钱?

为了澄清,我不打算单独使用数据属性,只是将它们暴露给第三方脚本或浏览器插件.考虑dotjs左右.使用数据属性,可以非常轻松地抓取/抓取页面.

html performance html5 dom dotjs

9
推荐指数
1
解决办法
1711
查看次数

DOM事件不会在off-DOM元素中冒泡

我有一个DOM元素尚未在DOM中,我想触发一个DOM事件.

事件没有冒出来.但是使用jQuery,确实如此.这对我来说似乎很奇怪.

这种行为在Safari和Chrome中是可重现的(在Firefox中它可以正常工作 - 事件冒泡):

var log = function(event) {console.log('Clicked on div', event);};

// Create DOM element.
var div = document.createElement('div');
// Don't append it to DOM. Though it works if we append it there.
// document.body.appendChild(div);
div.innerHTML = '<a id="outer"><span class="inner">yo</span></a>';

// Does not work.
div.addEventListener('click', log);
div.querySelector('#outer').click();

// Works!?
$(div).on('click', log);
$(div).find('#outer').click();
Run Code Online (Sandbox Code Playgroud)

jQuery是否实现了自定义事件冒泡策略?浏览器在这里出错了吗?

编辑:创建了一个bug

html javascript jquery dom javascript-events

5
推荐指数
1
解决办法
246
查看次数

标签 统计

dom ×2

html ×2

dotjs ×1

html5 ×1

javascript ×1

javascript-events ×1

jquery ×1

performance ×1