我正在使用 Mootools “The Wall”插件创建图像墙。它的创建在 initWall() 上没有任何问题,但是如果我将图像包装在“a”标签中,则在拖动完成后,单击链接并将我传送到 href,即使我没有单击它. 这是我的代码
window.addEvent("domready", function() {
new Wall("wall", {
width: 260,
height: 180,
rangex: [-10,10],
rangey: [-10,10],
inertia: true,
callOnUpdate: function(items) {
items.each(function(item) {
var a=new Element("a",{
href:"post.php",
styles: {
opacity: 0
}
});
var img=new Element("img",{
src:"img/260x180.gif"
});
img.inject(a);
a.inject(item.node).fade(1);
});
}
}).initWall();
});
生成的 HTML 是这样的
<div class="tile" col="-1" row="-1" rel="-1x-1" style="position: absolute; left: -260px; top: -180px; width: 260px; height: 180px; ">
<a href="post.php" style="visibility: visible; zoom: 1; opacity: 1; ">
<img src="img/260x180.gif">
</a>
</div>
我怎样才能使项目本身作为最外层的类,所以项目看起来像
<a href="post.php" class="tile" col="-1" row="-1" rel="-1x-1" style="position: absolute; left: -260px; top: -180px; width: 260px; height: 180px; ">
<img src="img/260x180.gif">
</a>
更新:回答 OK。我自己想通了。需要添加“点击”事件处理程序并使用 getMovement 函数。
a.addEvent("click",function(e){
if( wall.getMovement() ){
e.stop();
}
});