我有几个具有相同类的文本框,并且想为它们都分配一个焦点事件的方法。这不起作用:
$('.postal').onfocus = setLeft();
在开发工具中,控件的类是“ postal x-form-text x-form-field
”,那么这会使上面的 jquery 不起作用吗?
我有几个具有相同类的文本框,并且想为它们都分配一个焦点事件的方法。这不起作用:
$('.postal').onfocus = setLeft();
在开发工具中,控件的类是“ postal x-form-text x-form-field
”,那么这会使上面的 jquery 不起作用吗?
这应该工作 -
$('.postal').on('focus',setLeft);
不试图窃取任何雷声,只是提供有关使用.on()
处理程序的附加信息。
您可以将它与其他几个处理程序结合起来以整合代码并最大限度地减少 DOM 影响!例如:
$('.postal').on({
focus:setLeft, // predefined functions can be used as long as there are no parameters passed
click:function(){
alert('clicked');
},
blur:function(){
hideMe($(this)); // for functions that pass in parameters, encase them in separate functions
}
});
这是一种非常强大和高效的利用方式.on()
,因为 DOM 只被抓取一次。这比使用 、 和 的简写方式进行不同的绑定要好.focus()
,.click()
后者.blur()
需要在每次绑定时都对 DOM 进行抓取。
也有捷径
$('.postal').focus(setLeft);
使用 jquery:
$('.postal').on('focus',setLeft);
嗯,这是一个基本的。
callback
您可以在使用时分配任何方法jQuery
。
大多数时候,我们使用functions
这种方式:
$('.postal').on('focus', function(){ /* Do something */ });
但这也是有效的:
$('.postal').on('focus', hello);
function hello(){ alert('hello'); };
因此,我认为第二种方法符合您为具有相同class
.