0

我已经使用基本地图和区域标签创建了一个图像地图。我已经测试了地图,所有区域的行为都符合预期,因此 HTML 绝对正确。

单击某个区域时,地图图像的来源将被另一个替换。自然,当第二次单击时,地图源应恢复到其原始状态。它基本上是一个点击/取消点击类型的事件,我试图用它.bind()来进行取消点击。出于某种原因,它似乎不起作用。

代码如下:

$(document).ready(function(){
$("#area1").click(function(){ 
$("#londonmap").attr('src','images/clickimage.png');
});
$("#area1").unbind("click", function() {
$("#londonmap").attr('src','images/originalimage.png');
});
});

我用 mouseover/mouseout 而不是单击和取消绑定对此进行了测试,这工作得很好,但当然这对 iPad 不友好。但是,当我尝试此操作时,只有单击有效,然后我第二次单击该区域-没有任何反应。

我怀疑我实现 .unbind() 的方式有问题

感谢您帮助 jQuery 菜鸟!

4

1 回答 1

2

更新

原来的

.unbind事件将一起删除点击事件。使用当前代码,一旦单击图像一次,它将删除单击事件并且不可单击...永远,悲伤的时代!尝试像这样切换图像 src:

$(document).ready(function()
{
    var images = ['http://www.doggyplanet.co.uk/images/new-icon-images/Dog-cartoon.png', 'http://s.thumbs.canstockphoto.com/canstock2134964.jpg'];
    $('#area1').click(function()
    {
        // select the image and determine what the next src will be
        var londonMap = $('#londonmap');
        var newImageSrc = londonMap.attr('src') != images[0] ? images[0] : images[1];

        // re-bind the src attribute
        londonMap.attr('src', newImageSrc);
    });
});​
于 2012-05-22T14:53:57.270 回答