点击事件在mozilla中工作正常,但在chrome中没有

时间:2012-09-19 12:37:58

标签: jquery

我有一个隐藏文件字段和一个浏览按钮。当我点击浏览按钮时,它将触发点击文件字段的点击事件。我的代码在mozzila中运行良好,但在chrome中运行不正常。代码如下:

 $("#upload, #browse_product_detail_file").bind({
    click: function(){
      $('#product_master_csv_file').trigger('click');
      return false;
     }
 });

我也尝试了以下内容: -

 $("#upload, #browse_product_detail_file").bind(
    "click", function(){
      $('#product_master_csv_file').click();
      return false;         
 });

$("#upload, #browse_product_detail_file").click(function(){
      $('#product_master_csv_file').trigger('click');
      return false;
     }
 });

$("#upload, #browse_product_detail_file").live("click", function(){
      $('#product_master_csv_file').trigger('click');
      return false;
     }
 });

但这很好用

$("#upload, #browse_product_detail_file").click(function(){
      alert("clicked");
     }
 });

4 个答案:

答案 0 :(得分:1)

使用开启方法

,而不是使用绑定
   $("#upload, #browse_product_detail_file").on("click", function(event){
    });

答案 1 :(得分:0)

我可能会弄错,我从未见过点击:这样写,试试这个:

$("#upload, #browse_product_detail_file").bind('click', function(){
    $('#product_master_csv_file').click();
    return false;
});

答案 2 :(得分:0)

This site看起来很了不起。也许不是过时的bind,你也应该考虑使用'click'jQuery函数。

答案 3 :(得分:0)

这种方式非常古老。

从jQuery 1.4开始,我们可以通过传递事件类型/处理程序对的映射来同时绑定多个事件处理程序:

<强> OLD

$('#foo').bind({
  click: function() {
    // do something on click
  },
  mouseenter: function() {
    // do something on mouseenter
  }
});

$('#foo').bind('mouseenter mouseleave', function() {
  $(this).toggleClass('entered');
});