Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.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
Javascript jQuery脚本不适用于webkit浏览器_Javascript_Jquery_Facebook - Fatal编程技术网

Javascript jQuery脚本不适用于webkit浏览器

Javascript jQuery脚本不适用于webkit浏览器,javascript,jquery,facebook,Javascript,Jquery,Facebook,我的代码在mozilla上运行,但在webkit浏览器上不工作 这是一个简单的脚本,点击一个指定值,并显示一个图像。 然后另一个的,禁用attr 有谁能帮我理解为什么它在webkit中不起作用 信息:这是一个FB应用程序,在shortstack上工作 谢谢 守则: <script type="text/javascript"> $(document).ready(function() { $('#image,#image2,#image3,#image4,#image5').hid

我的代码在mozilla上运行,但在webkit浏览器上不工作

这是一个简单的脚本,点击一个指定值,并显示一个图像。 然后另一个的,禁用attr

有谁能帮我理解为什么它在webkit中不起作用

信息:这是一个FB应用程序,在shortstack上工作

谢谢

守则:

<script type="text/javascript">
$(document).ready(function() {

$('#image,#image2,#image3,#image4,#image5').hide();

    $('option').click(function(e) {
    switch ($(this).attr('value')) {

      case 'ATENTA': 
        $("#image").show().click(function(){
            $(this).hide();
        });
        e.preventDefault();
        break;

      case 'CREATIVA':
        $("#image2").show().click(function(){
            $(this).hide();
        });    
        e.preventDefault();
        break;  

      case 'COQUETA':
        $("#image4").show().click(function(){
            $(this).hide();
        });        
        e.preventDefault();
        break;

      case 'PEGOTE': 
        $("#image3").show().click(function(){
            $(this).hide();
        });     
        e.preventDefault();
        break;

      case 'COLGADA':
        $("#image5").show().click(function(){
            $(this).hide();
        });    
        e.preventDefault();
        break;  
    }
    });

    $('select').change(function(){
    var value = $(this).val();
    $(this).children('option').each(function (){
      if ($(this).val() === value) {
          $(this).siblings('option').attr('disabled', true);
      }
        });
    });

});

我猜不起作用的是图像的实际负载。我想这是因为这段代码:

$('option').click(function(e) {
浏览器处理表单元素的方式不同。例如,在选择中单击某个选项可能会触发firefox的“单击”事件,但在Chrome上不会

试着这样做:

$(document).ready(function() {

    $('#image,#image2,#image3,#image4,#image5').hide();


    $('select').change(function() {
        var value = $(this).val();

        $(this).children('option').each(function (){
            if ($(this).val() === value) {
                $(this).siblings('option').attr('disabled', true);
            }
        });

        switchImage(value);
    });

    var switchImage = function(toLoad) {
        switch (toLoad) {

          case 'ATENTA':
            $("#image").show().click(function(){
                $(this).hide();
            });
            break;

          case 'CREATIVA':
            $("#image2").show().click(function(){
                $(this).hide();
            });
            break;

          case 'COQUETA':
            $("#image4").show().click(function(){
                $(this).hide();
            });
            break;

          case 'PEGOTE':
            $("#image3").show().click(function(){
                $(this).hide();
            });
            break;

          case 'COLGADA':
            $("#image5").show().click(function(){
                $(this).hide();
            });
            break;
        }
        });
    };

});

这样做的目的是使用选择标记本身上的“更改”事件调用switchImage函数,而不是依赖选项标记上的“单击”事件。

谢谢Enrique!这对我帮助很大。你救了我的命;