尝试使一个事件依赖于另一个事件,并使用 jquery 个自定义事件传递数据
Trying to make an event depend on another event and data is passed along using jquery custom events
对于这个问题,我想根据复选框是否被选中来传递数据。数据来自 .on() 第二个参数。
我想做这样的事情。我知道这真的很糟糕。我不确定数据如何工作以及何时使用 .trigger()
$(document).on('justData', function(e, data){
console.log(data);
})
$('.justData').on('click', function(){
var insert
dataobj ={
"mike" : 'mikevalue',
"john" : 'johnValue'
}
$("#checkThis").on('change', function(e, data){
if(this.checked){
insert = dataobj.mike
}else{
insert = dataobj.john
}
})
$(this).trigger('justData', insert)
})
如果选中该框,我想插入 "mikevalue",如果未选中,我想插入 "johnvalue"。
我正在学习如何使用中介。我想那是你做 $emitter = $({}) 的时候,所以我想分开事件。当用户点击 $(.justData) 我会有 $({}).trigger("Ischecked") 之类的东西我很困惑。如果有人可以告诉我如何使用 $emitter .trigger() .on() 将动态数据传递给不同的事件,那就太好了。
你走在正确的轨道上。这是 jQuery API Docs 给出的用于处理自定义事件的简单明了的示例:
$( "#foo" ).on( "custom", function( event, param1, param2 ) {
alert( param1 + "\n" + param2 );
});
$( "#foo").trigger( "custom", [ "Custom", "Event" ] );
还稍微清理了你的代码:
$('body').on('justData', function(e, data){
console.log(data);
});
$('.justData').on('click', function(e){
var insert = "",
$checkbox = $('#checkThis'),
data = {
"mike" : 'mikevalue',
"john" : 'johnValue'
};
if($checkbox.prop('checked')){
insert = data.mike;
} else {
insert = data.john;
}
$('body').trigger('justData', insert);
});
对于这个问题,我想根据复选框是否被选中来传递数据。数据来自 .on() 第二个参数。
我想做这样的事情。我知道这真的很糟糕。我不确定数据如何工作以及何时使用 .trigger()
$(document).on('justData', function(e, data){
console.log(data);
})
$('.justData').on('click', function(){
var insert
dataobj ={
"mike" : 'mikevalue',
"john" : 'johnValue'
}
$("#checkThis").on('change', function(e, data){
if(this.checked){
insert = dataobj.mike
}else{
insert = dataobj.john
}
})
$(this).trigger('justData', insert)
})
如果选中该框,我想插入 "mikevalue",如果未选中,我想插入 "johnvalue"。
我正在学习如何使用中介。我想那是你做 $emitter = $({}) 的时候,所以我想分开事件。当用户点击 $(.justData) 我会有 $({}).trigger("Ischecked") 之类的东西我很困惑。如果有人可以告诉我如何使用 $emitter .trigger() .on() 将动态数据传递给不同的事件,那就太好了。
你走在正确的轨道上。这是 jQuery API Docs 给出的用于处理自定义事件的简单明了的示例:
$( "#foo" ).on( "custom", function( event, param1, param2 ) {
alert( param1 + "\n" + param2 );
});
$( "#foo").trigger( "custom", [ "Custom", "Event" ] );
还稍微清理了你的代码:
$('body').on('justData', function(e, data){
console.log(data);
});
$('.justData').on('click', function(e){
var insert = "",
$checkbox = $('#checkThis'),
data = {
"mike" : 'mikevalue',
"john" : 'johnValue'
};
if($checkbox.prop('checked')){
insert = data.mike;
} else {
insert = data.john;
}
$('body').trigger('justData', insert);
});