我正在阅读.on()jquery文档。
是否可以传递这样的数据:
function greet( event ) {
alert( "Hello " + event.data.name );
}
$( "button" ).on( "click", {name: "Karl"}, greet );
该方法的原型是:
$(selector).on(event,childSelector,data,function,map)
是否可以在数据参数中使用更复杂的瘦而不是只有一个字符串?。
在我的情况下: 我将动态生成一些带有数字输入和一些文本的弹出窗口。
是否可以捕获调用者弹出窗口内的信息,即调用者弹出窗口的数量和文本。 也许是这样的:
$(document).on('click', '#id',
var data =[
var number = functionThatGetTheNumberOfThePopup
var test = captureTextOfPopup
] ,
function(event){
//use number
//use test
});
答案 0 :(得分:2)
是的,您可以传递任意数据。你以对象的形式这样做:
$(document).on('click', '#id', {
number: functionThatGetTheNumberOfThePopup,
test: captureTextOfPopup
},
function(event){
//use number
console.log(event.data.number);
//use test
console.log(event.data.test);
});
答案 1 :(得分:0)
你的例子 传递比“简单字符串”更复杂的东西 - 你的例子传递一个具有一个属性name
的对象 - 没有理由这不是一个对象具有2个(或更多)属性:
$(document).on('click', '#id',
{
number : functionThatGetTheNumberOfThePopup(),
test : captureTextOfPopup()
} ,
function(event){
//use number
//use test
});