我有一个需要传递给函数的对象,这个函数是通过onClick
和onKeyUp()
触发的,但是我无法使它工作。
虽然我可以传递值。
function myFunc(myObj) {
$("<button type="button" onclick='otherFunction( $(\"#elem\").val() )'
onkeyup='otherFunction( $(\"#elem\").val() )'> CLICK IT </button>"
}
如您所见,我有一个otherFunction
,我可以将$("#elem").val()
作为参数传递。但我还需要将myObj
传递给它
尝试了我能想到的一切,但我无法使其发挥作用。
Obs:myObj
是来自googleMaps的标记,所以我不能只传递它的属性值。我需要访问第二个函数的完整对象。
因为我需要执行以下操作:myObj.setOptions(.....)
答案 0 :(得分:3)
当您使用jQuery创建按钮时,使用.on()
来绑定事件处理程序。由于closure
myObj
function myFunc(myObj) {
var button = $('<button>', {
"type": "button",
"text": "CLICK IT"
}).on('click keyup', function () {
// myObj will be accessible here
otherFunction($("#elem").val());
});
}
答案 1 :(得分:1)
此代码解释了如何使用jQuery
将数据发送到处理程序$('yourElement').click(yourData, function(eventObject){
var thisIsYourData = eventObject.data;
})