如何将这些事件更改为.live()事件处理程序?
我以为我可以将$(document).ready(function()...改为.... $(document).live(function()以及.keydown和.data更改为.live但是我似乎无法让它工作......请帮助。
$(document).ready(function(){
$('#number').bind('keyup change focus', function(){
var field = this;
timer = setTimeout(function(){runSearch(field);}, 444);});
$('#number').keydown(function(){clearTimeout(timer);});
//url selection by specifics
$('#phone_book tr').data('bgcolor', '#aaf').hover(function(){
var $this = $(this);
var newBgc = $(this).data('bgcolor');
$(this).data('bgcolor', $(this).css('background-color')).css('background-color', newBgc);
});
//url selection by specifics
$("#phone_book tr").click(function(){
var id = $(this).children().first().html();
var type = $(this).parents('table').siblings('div.module_header').html().toLowerCase();
答案 0 :(得分:6)
变化
.bind(...
到
.on(...
.live()实际上已被弃用。
对于像.keyup(),. keydown()这样的人,将其更改为.on('keydown'......等等。
答案 1 :(得分:1)
将.bind()更改为.live()
请记住,在较新版本的jQuery中不推荐使用live(),而应使用on()。您的某些事件可能还需要较旧的delegate()方法。
$('#number').live('keyup change focus', function(){
var field = this;
timer = setTimeout(function(){runSearch(field);}, 444);});
$('body').delegate('#number', 'keydown', function(){clearTimeout(timer);});
//url selection by specifics
$('body').data('bgcolor', '#aaf').delegate('#phone_book tr', 'hover, function(){
var $this = $(this);
var newBgc = $(this).data('bgcolor');
$(this).data('bgcolor', $(this).css('background-color')).css('background-color', newBgc);
});
答案 2 :(得分:1)
以下是使用.on函数的代码示例。
$(document).ready(function(){
$('#number').on('keyup change focus', function(){
var field = this;
timer = setTimeout(function(){runSearch(field);}, 444);});
$('#number').keydown(function(){clearTimeout(timer);});
//url selection by specifics
$('#phone_book tr').data('bgcolor', '#aaf').hover(function(){
var newBgc = $(this).data('bgcolor');
$(this).data('bgcolor', $(this).css('background-color')).css('background-color', newBgc);});
//url selection by specifics
$("#phone_book tr").on('click', function(){
var id = $(this).children().first().html();
var type = $(this).parents('table').siblings('div.module_header').html().toLowerCase();