6

页面在这里:

http://cistrome.org/cps/seqconfig?did=2693

原始的js代码如下(这个很好用):

$(document).ready(function(){
    $(".open_gene").on('change', function(event) {
        $('#Gene_field').show();
    });

    $(".close_gene").on("change", function(event){
        $("#Gene_field").hide();
    });
});

所以.close_gene有一个事件处理程序change。但是当我想手动触发这个事件来隐藏时#Gene_field,像这样:

>>> $('.close_gene').trigger("change")

在 FireBugs 中,返回值为:

[input#nolimit_radio.close_gene all]

但是#Gene_field没有隐藏..

我想知道为什么我不能触发应该已经触发的change事件 。有人对此有想法吗?谢谢!bindfunction(event){ $("#Gene_field").hide();}

4

1 回答 1

11

尝试这个:

$(".close_gene").click();

它在 Firebug 控制台中对我来说工作正常...... :)

更新:

这也应该有效,但不会改变单选按钮的状态

$(document).ready(function(){
  $(document).delegate(".open_gene",'change', function(event) {
     $('#Gene_field').show();
  });

  $(document).delegate(".close_gene", "change", function(event){
     $("#Gene_field").hide();
  });
});

$('.close_gene').trigger("change");
于 2012-11-19T05:42:00.037 回答