我知道我可以使用click函数将事件附加到DIV元素,但由于某种原因它不适合我。这是我如何创建DIV元素。
function createColorSwatchDiv(color) {
var colorSwatchDiv = $("<div>");
var image = $("<img>");
image.attr("src",color.imageURL);
var label = $("<label>");
label.text(color.title);
colorSwatchDiv.append(image);
return colorSwatchDiv;
}
然后我尝试附加点击事件,如下所示:
// run a loop and build the grid layout
for(index = 0; index < colors.length; index++) {
var colorSwatchDiv = createColorSwatchDiv(colors[index]);
// attach the event
colorSwatchDiv.click(function(){
alert('hello world');
});
colorsSection.append(colorSwatchDiv);
}
// add to the dom
$("#color .imageChartOption").after(colorsSection);
但它不起作用且没有附加点击事件。
答案 0 :(得分:1)
以下是代码
var $newdiv1 = $("<div id='object1' onClick=Test()>Hello</div>");
$("body").append($newdiv1);
function Test()
{
alert("Clicked");
}
OR
$newdiv1.on('click',function(){alert("hello");});
答案 1 :(得分:0)
因为你已经在jQuery包装器中创建了div,所以你不需要在$(colorSwatchDiv).click(...
再次包装它。另外,您确定colorSwatchDiv
变量是引用dom元素而不是内存元素吗?你能在dom的榆树上申请课程吗?