有时我会遇到必须创建相同变量的情况,并在对象文字内部一遍又一遍地检索完全相同类型的信息,例如.on()
出于纯粹的好奇心,以及必须做一个更好的方法,我来了。
注意我不是在谈论 jQuery.data()
或任何类型的普通window.
全局变量。我说的是在对象文字的闭包内维护的一个。
当然,其中一些变量是实时变化的,因此我总是将它们放在每个方法中.on()
一个例子:
$(document).on({
focusin: function () {
var placeHolder = $(this).attr('data-title'),
status = $(this).attr('data-status');
// etc etc
},
focusout: function () {
var placeHolder = $(this).attr('data-title'),
status = $(this).attr('data-status');
// etc etc
},
mouseenter: function () {
// same variables
},
mouseleave: function () { }
}, '.selector');
有没有办法将变量存储在某个地方,并在每个事件中检索?他们需要是动态的
$(document).on({
// Basially:
// var placeHolder; etc
// each event gets these values
focusin: function () {
// now here I can simply use them
if (placeHolder === 'blahblah') {}
// etc
}
}, '.selector');