jquery事件中的参数

时间:2015-08-19 15:07:30

标签: javascript jquery handsontable

我想在jquery的事件hotTraitement的参数中传递一个名为.click的对象。所以我声明我的对象是这样的:

$(window).load(function(){
        container = document.getElementById('tab_traitement');
        var hotTraitement = new Handsontable(container, {
            data: data_traitement});
});

我正试图像这样传递这个对象:

$('#submit_button_traitement').click(function({hotTraitement:hotTraitement})
{
    console.log(hotTraitement);
});

但它不起作用,hotTraitement未定义。

请帮忙!

3 个答案:

答案 0 :(得分:1)

试试这个。 将hotTraitement变量定义为全局变量。

$('#submit_button_traitement').click({hotTraitement:hotTraitement},function(e){
   console.log(e.data.hotTraitement);
});

SIMPLE DEMO:FIDDLE

<强>更新

试试这种方式。

&#13;
&#13;
$(document).ready(function() {
  var container = document.getElementById('tab_traitement');
  var hotTraitement = new Handsontable(container, {
    data: data_traitement
  });

  //...

  $('#submit_button_traitement').click({
    hotTraitement: hotTraitement
  }, function(e) {
    console.log(e.data.hotTraitement);
  });

});
&#13;
&#13;
&#13;

答案 1 :(得分:0)

尝试用$(document).ready()代替$(window).load();利用.on()

dataevent属性

&#13;
&#13;
$(document).ready([
  function() {
    // define `hotTraitement`
    hotTraitement = {
      "abc": 123
    };
  }, 
  function() {
    // set `event.data` to `hotTraitement`
    $("#submit_button_traitement")
    .on("click", hotTraitement, function(event) {
        // do stuff with `event.data` : `hotTraitement`
        console.log(event.data)
    })
  }
]);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="submit_button_traitement">click</div>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

为什么你想在onc​​lick函数中传递hotTraitement参数而不是你可以在你的onclick里面访问它,就像这样

$(window).load(function(){
    container = document.getElementById('tab_traitement');
    var hotTraitement = new Handsontable(container, {
        data: data_traitement});

   $('#submit_button_traitement').click(function(){
      console.log(hotTraitement);
   });
});