Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.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和/或javascript在safari上不起作用_Javascript_Jquery - Fatal编程技术网

jquery和/或javascript在safari上不起作用

jquery和/或javascript在safari上不起作用,javascript,jquery,Javascript,Jquery,我有一段代码: <div id="tab1" class="w-tab-pane" data-w-tab="Tab 1"> <div class="text-block">ΜΕΓΕΘΗ</div> <a class="button w-button <?php if(in_array("xs",$arr_shirts)) echo "kg-active-btn-size"; ?>" id

我有一段代码:

<div id="tab1" class="w-tab-pane" data-w-tab="Tab 1">
              <div class="text-block">ΜΕΓΕΘΗ</div>
              <a class="button w-button <?php if(in_array("xs",$arr_shirts)) echo "kg-active-btn-size"; ?>" id="shirt_0" onclick="getSize('hidden_shirt_0','xs');" href="#">XS</a> <!-- (86-91) -->
                <input type="hidden" id="hidden_shirt_0" value="<?php if(in_array("xs",$arr_shirts)) echo "xs"; ?>" />
              <a class="button w-button <?php if(in_array("s",$arr_shirts)) echo "kg-active-btn-size"; ?>" id="shirt_1"  onclick="getSize('hidden_shirt_1','s');" href="#">S</a>
                <input type="hidden" id="hidden_shirt_1" value="<?php if(in_array("s",$arr_shirts)) echo "s"; ?>" />
              <a class="button w-button <?php if(in_array("m",$arr_shirts)) echo "kg-active-btn-size"; ?>" id="shirt_2" onclick="getSize('hidden_shirt_2','m');" id="shirt_2" href="#">M</a>
</div>
因此,上面的代码向特定的链接标记添加了一个类。如果再次单击,则删除此类。。这段代码在Chrome、Firefox上运行良好,但在safari上运行不正常。。我也试过了

$(this).toggleClass("kg-active-btn-size");
但是还是没有运气。。我正在使用:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js" type="text/javascript"></script>


作为一个ajax库,因为我的代码不仅仅是这段代码。。有什么帮助吗?我错过什么了吗?提前感谢

未测试,但请尝试此功能。例如,对于id为#shirt_1的对象fake,您可以将var设置为fake。但我更喜欢这些对象字符串,因为它们可以在任何地方读取

var fake = {}
$('#shirt_1').on('click', function(){
        if (fake.fake == 'yes') {
        $('#shirt_1').css('background-color', 'black');
        fake.fake = 'no'
        }else{
        $('#shirt_1').css('background-color', 'white');
        fake.fake = 'yes'
        } 
});

如果可以使用单击,为什么要使用焦点。也许是问题的焦点。另外,请始终使用console.log进行调试,或在每一个新步骤中发出警报,以查看您走了多远。

Safari的
console
说了什么?还有一个问题与Safari有关。focus()关于Safari:使用
mousein
mouseout
而不是Safari的控制台日志中的标题@活到老,鼠标输入,鼠标输出,而不是点击?不,而不是聚焦,只需使用鼠标输入和鼠标输出,在t33n“聚焦”或“点击”下回答,结果仍然相同。。我在控制台中没有收到任何错误。。此外,我注意到,如果我点击一个按钮,addClass(“..”)根本不起作用。您是否在js脚本的开头使用了$(document).ready(function(){}?发出警报('1'))在点击功能的入口。警报会来吗?。另外请注意,我将#tab1 a更改为#tab1。请在if和else的入口添加console.log或警报。请告诉我结果,也许我可以帮助你。同时更改你的html代码。给每个a标记一个唯一的id或类。然后你可以准确地点击这个id/类。因为你需要我们e#tab1 a,然后你有3个a标记。jquery不知道你指的是哪一个。很抱歉,我没有看到你的a标记中有唯一的ID。请单击#shirt#u 1是的,我有所有代码到$(document)。ready(function(){..});我也在if.else.中插入了警报。我得到了正确的警报,但整个系统不稳定。有时,按钮仍保持白色bg,尽管我得到了黑色bg的正确警报。现在我有了这个var fake={}$('#tab1 a')。on('click',function(){if(fake.fake='yes'){alert('if');$(this)。removeClass(“kg活动btn大小”).addClass(“按钮w按钮”);fake.fake='no'}else{alert('else');$(this.addClass(“kg活动btn大小”);fake.fake='yes'});
var fake = {}
$('#shirt_1').on('click', function(){
        if (fake.fake == 'yes') {
        $('#shirt_1').css('background-color', 'black');
        fake.fake = 'no'
        }else{
        $('#shirt_1').css('background-color', 'white');
        fake.fake = 'yes'
        } 
});