情况是这样的: 我有一个div,我们可以使用$('#container')和这个div的子div('#tracker')。 在跟踪器上,我将事件绑定为:
$(document).on('mousemove', '#tarcker', function(e) {
console.log(e.clientX);
}
但是,我希望在容器的上下文中绑定它,即我希望功能与:
相同$('#tracker', '#container').onmousemove = function() { ... }
但适用于该文件。或建议说明否则
[编辑] 对不起,原来的问题含糊不清。
如果我尝试缓存,那么我可以var v = $('#tracker', '#container')
然后我可以v.onmousemove = function () { ... }
这对
有什么作用$(document).on('mousemove', <cached in var>, function(e) {
console.log(e.clientX);
}
答案 0 :(得分:1)
我可能会弄错,因为它看起来有点明显,但这是你想要的吗?
$(document).on('mousemove', '#container #tracker', function(e) {
}
答案 1 :(得分:1)
只需将传递给.on()
的选择器扩展为仅查找#tracker
元素内的#container
个元素:
$(document).on('mousemove', '#container #tracker', function(e) {
console.log(e.clientX);
});
如果要将对象缓存在另一个变量中,可以采用几种方法。第一个与之前相同,但是当您致电.on()
时,您将不会使用它:
var v = $('#tracker', '#container');
$(document).on('mousemove', '#container #tracker', function(e) {
// use v here
});
// you can also use v here
或者,如果您只需要事件处理函数中的 ,那么您可以这样做:
$(document).on('mousemove', '#container #tracker', function(e) {
var v = $(this);
// use v here
});