だから私はこれを使っていくつかの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);
});
});