所以我使用这个生成了一些 div
document.getElementById('container').innerHTML += '<div class="colorBox" id="box'+i+'"></div>';
我遇到的问题是捕捉悬停事件
$(".colorBox").hover(function(){
alert("!");
});
做了之后就不行了。有什么想法吗?
编辑:为了更清楚,请查看: http: //graysonearle.com/test/16_t.html
我需要能够在更改动态多次发生的 innerHTML 后发生悬停事件。所以就像在改变列数之后,悬停效果需要起作用。
感谢选择的答案:对于那些将来可能想做类似事情的人,我的代码现在看起来像这样:
$(document).ready(function(){
document.body.onmousedown = function() {
++mouseDown;
}
document.body.onmouseup = function() {
--mouseDown;
}
$(document).on("mouseenter",".colorBox",function(){
if(mouseDown){
var clicked = $(this).attr("id");
var clicked = clicked.substring('box'.length);
next_color(clicked);
}
$(this).css("border-color","#ff0");
}).on("mouseleave", ".colorBox", function() {
$(this).css("border-color","#aaa");
});
$(document).on("click",".colorBox",function(){
var clicked = $(this).attr("id");
var clicked = clicked.substring('box'.length);
next_color(clicked);
});
});