$(this).click和jQuery中的$(this).bind在Safari中无法正常工作

时间:2014-02-05 20:54:23

标签: javascript jquery safari

我必须回复你的一个问题。我有一个网站,有瓷砖,当你点击瓷砖时,会出现一个页面。问题是,除了Safari桌面或移动设备之外,它在每个浏览器中都能正常工作。问题是,当你点击时,你必须在Safari中移动鼠标才能显示页面,而不是它应该如何工作:(

我在这里复制完整的代码(对于其他函数,它可能与问题有关,但我不这么认为),jQuery.js的版本我是1.10.2。谢谢你的帮助!

编辑2:我已根据您的建议修改了代码,但仍然是这样:(

$(document).ready(function(){

    $('.tile').each(function(){

        // mouseOver
        $(this).mouseover(function(){
            $('.tile-title', this).css({'visibility': 'hidden', 'opacity': '0'});
            $('.tile-image', this).css({'visibility': 'visible', 'opacity': '1'});
        });

        // mouseOut
        $(this).mouseout(function(){
            $('.tile-title', this).css({'visibility': 'visible', 'opacity': '1'});
            $('.tile-image', this).css({'visibility': 'hidden', 'opacity': '0'});
        });     

        // listening for click and showing the page (has to be done for every .tile too!)
            var bgcolor = $(this).css('background-color'),
                textcolor = $(this).css('color'),
                page = $(this).data('page-name');

            $(this).click(function(){
                $('.'+page).css({'background-color': bgcolor, 'color': textcolor});
                           //.find('.close-button').css({'background-color': textcolor, 'color': bgcolor});
                $('.'+page).css({'visibility': 'visible', 'opacity': '1'});
        });

        // if close button clicked, hide the page (parent div)
    });

});

$('.close-button').click(function(){
    $(this).parent().css({'visibility': 'hidden', 'opacity': '0'});
});

1 个答案:

答案 0 :(得分:0)

Sp问题解决了,不是这个脚本,它是图片滚动器,它正在搞乱safari中的东西。我只需要找到一个新的脚本来捕获它,它不会弄乱这些东西。

因此,对于每个人来说,来自slidesjs.com的jQuery库可能会破坏Safari中的内容。

感谢您提供所有提示和帮助,以便清理我的代码!

干杯!