I'm loading some content via ajax and need to use the live()
function. Since the following plugin has properties to set how do you set it up to use live()
?
$(function () {
$("#book-wrapper .books").hoverIntent({
over: enter,
out: leave,
interval: 200
});
});
function enter() { $(this).animate({ width: '+=115px开发者_运维问答' }, 350, 'swing'); $(".slide-out", this).animate({ opacity: 1 }, 450, 'swing'); }
function leave() { $(this).animate({ width: '-=115px' }, 350, 'swing'); $(".slide-out", this).animate({ opacity: 0.0 }, 450, 'swing'); }
Given your above clarification - you may not actually need live
... as bind
does this for you. Some other plugins exist that do this as well, including livequery
$(function(){
$('html').bind('myhoverintent',function(){
$('#book-wrapper .books').hoverIntent({
over: enter,
out: leave,
interval: 200
}); //fixed syntax error
});
//then, later in your method that adds .books:
$('html').append('<div class="books">test</div').trigger('myhoverintent');
Even simpler would be if your method to add books comes as a result of a jQuery ajax method, you could just re-call your original selector on the success
method of $.ajax
Try this,
$(function () {
$("#book-wrapper .books").live("hoverIntent",function(){
over: enter,
out: leave,
interval: 200
});
});
function enter() { $(this).animate({ width: '+=115px' }, 350, 'swing'); $(".slide-out", this).animate({ opacity: 1 }, 450, 'swing'); }
function leave() { $(this).animate({ width: '-=115px' }, 350, 'swing'); $(".slide-out", this).animate({ opacity: 0.0 }, 450, 'swing'); }
精彩评论