jQuery代码在Safari for Windows中不起作用

时间:2014-10-13 11:53:53

标签: javascript jquery safari

我在我的javascript文件中编写了以下代码:

$( document ).ready(function() {

    $("#fbhtmlImage .image_thumb").live('click',function(){ $(this).parent().find("label").click(); });
    $("#dropboxImageContent .image_thumb").live('click',function(){ $(this).parent().find("label").click(); });
    $("#instagramFrm .image_thumb").live('click',function(){ $(this).parent().find("label").click(); });
});

它适用于所有浏览器,包括Safari for Mac。但是相同的代码在Safari for Windows中不起作用。

我也试过了,

$( document ).ready(function() {

    $(document).on("click","#fbhtmlImage .image_thumb",function() { $(this).parent().find("label").click(); });
    $(document).on("click","#DropboxContent .image_thumb",function() { $(this).parent().find("label").click(); });
    $(document).on("click","#instagramFrm .image_thumb",function() { $(this).parent().find("label").click(); });
});

2 个答案:

答案 0 :(得分:-1)

例如。

$( document ).ready(function() {
    $("#fbhtmlImage .image_thumb").on('click',function(){ 
        $(this).parent().find("label").click(); }); //For Facebook
    });

希望它可以正常工作,因为.live()已被弃用。

对于参考:http://api.jquery.com/on/

答案 1 :(得分:-1)

我已通过以下代码解决了这个问题:

$( document ).ready(function() {

    var os = navigator.platform;
    os = os.toLowerCase();

    if(os.indexOf('win') >= 0 && jQuery.browser.safari){
        //For Windows Safari
        $(document).on("click","#fbhtmlImage .image_thumb",function() { $(this).parent().find("input").click(); });
        $(document).on("click","#DropboxContent .image_thumb",function() { $(this).parent().find("input").click(); });
        $(document).on("click","#instagramFrm .image_thumb",function() { $(this).parent().find("input").click(); });
    }
    else{
        $(document).on("click","#fbhtmlImage .image_thumb",function() { $(this).parent().find("label").click(); });
        $(document).on("click","#DropboxContent .image_thumb",function() { $(this).parent().find("label").click(); });
        $(document).on("click","#instagramFrm .image_thumb",function() { $(this).parent().find("label").click(); });
    }
});