我已经设置了一组类.defect的DOM元素。这些元素是使用D3设置的,并且绑定了一个AJAX事件,以便在单击它们时执行php,通过ftp获取图像(如果它们不存在于本地服务器上)或从中获取它们本地服务器。然后使用图像的缩略图构建小网页。 D3绑定如下:
.on("click",function(d) {
div.transition()
.duration(1)
.style("opacity",0);
$.ajax({
type: 'POST',
url: 'get_pictures.php',
data: {lot: d.lot,wafer: d.wafer,layer: d.layer, defectId: d.defectId},
dataType: 'json',
success: function(data) {
createImagePage(data, d.layer, d.lot, d.wafer, d.fineBin);
},
error: function() {
alert('Error');
}
})
});
由于D3绑定数据的方式,我为这些元素上的click事件设置了一个单独的事件监听器,以期执行blockUI代码:
$(document).on('click',".defect",function() {
$.blockUI({ message: "<h4>Getting images ...</h4><img src='img/wait.gif'/>"});
})
我遇到的问题是有时会执行blockUI,有时则不执行。我验证了所有元素都有.defect类,但并非所有元素都触发了blockUI。我希望其他人可能对我所缺少的内容有所了解。提前谢谢。