我想在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
未定义。
请帮忙!
答案 0 :(得分:1)
试试这个。
将hotTraitement
变量定义为全局变量。
$('#submit_button_traitement').click({hotTraitement:hotTraitement},function(e){
console.log(e.data.hotTraitement);
});
SIMPLE DEMO:FIDDLE
<强>更新强>
试试这种方式。
$(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;
答案 1 :(得分:0)
尝试用$(document).ready()
代替$(window).load()
;利用.on()
data
,event
属性
$(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;
答案 2 :(得分:0)
为什么你想在onclick函数中传递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);
});
});