jQuery点击事件在循环中打破了浮动属性
jQuery click event in loop broken by float attribute
我试图添加点击事件处理程序到一堆动态生成的div使用jQuery使用代码如下:
for (var i = 0; i < 10; ++i) {
var testdiv = document.createElement('div');
testdiv.innerHTML = 'test' + i;
testdiv.id = 'test' + i;
var nestingdiv = document.createElement('div');
nestingdiv.classList.add('nestingdiv');
nestingdiv.appendChild(testdiv);
setTestClickHandler(i);
end
function setTestClickHandler(i) {
$('#test' + i).click(function() {
alert(i);
});
这正常工作,但一旦我添加一个浮点参数到.nestingdiv
类,像这样:
.nestingdiv { float:left; }
click处理程序不再触发(在Firefox和Chrome上测试)。有人知道为什么会出现这种情况吗?或者我该如何解决这个问题?
问题不是你的JavaScript,而是你的CSS。换句话说,"click"处理程序很好。当唯一的嵌套元素是浮动的,父元素失去了它的"结构"(因为没有更好的词)并崩溃。它还在那里,但是现在是1px高了。
解决方案:http://css-tricks.com/snippets/css/clear-fix/
替代解决方案:http://thinkvitamin.com/design/everything-you-know-about-clearfix-is-wrong/
相关文章:
- 如何使用jquery迭代具有相同属性的html元素并查找onclick事件
- JavaScript-动态SVG-onload属性-未触发事件
- 手柄'img'单击事件并插入'alt'使用jQuery将属性转换为文本框
- JQuery:使用clone()生成的元素不采用原始的事件属性
- JS事件未更改输入禁用属性
- 从其他元素上的单击事件访问image src属性
- 使用自定义数据属性或将数据绑定到处理程序来处理事件
- 如何从jQuery的事件对象中检索属性
- 更改el属性时未激发主干视图事件
- SVG-全局属性和事件的列表
- jQuery:使用实时事件添加tabindex属性
- 选中javascript中的属性集时,复选框更改事件未触发
- 我想从使用onkeypress事件的文本区域获取一个属性
- 取消 iframe 中具有 target=“_parent” 属性的链接事件
- datalist获取选定的值和自定义属性(无事件)
- Google事件侦听器:未捕获类型错误:无法读取属性'addEventListener'为null
- 将属性添加到窗元素时是否引发事件
- 更改视图属性 事件聚合器 Aurelia
- 在'onmouseover'中修改HTML's CSS属性事件
- jQuery中的自定义属性事件