在meteor.js应用程序中,我试图使用jQuery的.position()返回单击的位置。
如果我使用event
或this
,我收到错误Uncaught TypeError: Cannot read property 'defaultView' of undefined
。
如果我使用$( event.currentTarget )
,则返回0
,因为它定义了被点击的元素。
Template.myTemplate.events({
// Doesn't work
'click .target': function (event) {
posY = $(event).position().top; // Undefined error
console.log( posY )
},
// also doesn't work
'click .target': function (event) {
var $this = $( event.currentTarget );
posY = $this.position().top;
console.log( posY ) // Returns 0
}
});
在直接的jQuery中,我会这样做:
$( '.target' ).click( function (e) {
var posY = $(this).position().top;
console.log( posY )
});
我的问题是,如何在Meteor中访问相同的this
?
答案 0 :(得分:1)
使用event.target
代替event.currentTarget
。