Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 单击/Bind/Unbind-交互式地图处理程序在浏览器和iPad上工作_Jquery_Map_Click - Fatal编程技术网

Jquery 单击/Bind/Unbind-交互式地图处理程序在浏览器和iPad上工作

Jquery 单击/Bind/Unbind-交互式地图处理程序在浏览器和iPad上工作,jquery,map,click,Jquery,Map,Click,我已经使用基本地图和区域标记创建了一个图像地图。我已经测试了地图,所有的区域都按照预期的方式运行,所以HTML绝对正确 单击某个区域时,地图图像的源将替换为另一个。 当然,当再次单击时,贴图源应该恢复到其原始状态。 这基本上是一个单击/取消单击类型的事件,我正在尝试使用.bind()来执行取消单击。出于某种原因,它似乎不起作用 代码如下: 我用mouseover/mouseout测试了这个功能,而不是单击并解除绑定,效果很好,但当然这对iPad不友好。但当我尝试这样做时,只有单击有效,然后第二次

我已经使用基本地图和区域标记创建了一个图像地图。我已经测试了地图,所有的区域都按照预期的方式运行,所以HTML绝对正确

单击某个区域时,地图图像的源将替换为另一个。 当然,当再次单击时,贴图源应该恢复到其原始状态。 这基本上是一个单击/取消单击类型的事件,我正在尝试使用
.bind()
来执行取消单击。出于某种原因,它似乎不起作用

代码如下:

我用mouseover/mouseout测试了这个功能,而不是单击并解除绑定,效果很好,但当然这对iPad不友好。但当我尝试这样做时,只有单击有效,然后第二次单击该区域时,什么也没有发生

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

谢谢你帮助jquerynoob

更新
起初的
.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);
    });
});​

第二种可能更好的方法是在
data altsrc
属性中存储一个备用映像地址,并使用
.attr('src',…)
.data('altsrc',…)
在单击时切换这两个地址。这样,代码更加通用,可以在不重写的情况下重复使用任何类似的图像。@Blazemonger我并不是说这不容易,但我确实提到了我是一个noob,所以我不知道如何以及如何替换这两个…@Blazemonger!但是,单击事件位于图像上。:)@Blazemonger,还有一个更通用的按钮点击器。@Richard我知道这是离题的,但看到广告你帮了大忙-现在能给图像添加淡入淡出效果吗,这样彼此之间的过渡就不会那么突然了?
$(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);
    });
});​