动态生成的链接上的jQuery事件
我有一个链接列表,这些链接是由另一个函数动态创建的,它们以test等形式出现 我试图将这些链接作为目标,并将单击/鼠标悬停事件绑定到它们。以下是针对这些linkhi-1之一的代码:动态生成的链接上的jQuery事件,jquery,dynamic,click,hyperlink,bind,Jquery,Dynamic,Click,Hyperlink,Bind,我有一个链接列表,这些链接是由另一个函数动态创建的,它们以test等形式出现 我试图将这些链接作为目标,并将单击/鼠标悬停事件绑定到它们。以下是针对这些linkhi-1之一的代码: $(function() { $("#hi-1") .bind("mouseover", highlight); $("#hi-1") .bind("mouseleave", highlight); $("#hi-1") .bind("click", highlight);
$(function() {
$("#hi-1") .bind("mouseover", highlight);
$("#hi-1") .bind("mouseleave", highlight);
$("#hi-1") .bind("click", highlight);
});
function highlight(evt){
$("p#p-1").toggleClass("highlighted");
}
这将切换的类名
我似乎无法让它工作,我相信这可能与链接是动态创建的事实有关。然而,我几乎没有jQuery的经验,我可能会走错方向
非常感谢您的帮助。您应该使用jquery的.live方法 现在和将来,为与当前选择器匹配的所有元素将处理程序附加到事件 例如:
$('.clickme').live('mouseover', function() {
// live handler called
});
您应该使用jquery的.live方法 现在和将来,为与当前选择器匹配的所有元素将处理程序附加到事件 例如:
$('.clickme').live('mouseover', function() {
// live handler called
});
试一试
试一试
选择器在创建时应用。选择元素,然后绑定到这些元素,而不是选择器 但是,您可以使用事件冒泡—子元素上的事件会通知祖先元素。jQuery为此提供了漂亮的语法,包括: 这假设containerElement是将要匹配的所有元素的祖先元素
但是,如果您只有一个元素(如通过给它一个ID所建议的),那么在创建元素时绑定处理程序可能会更容易。选择器在创建时应用。选择元素,然后绑定到这些元素,而不是选择器 但是,您可以使用事件冒泡—子元素上的事件会通知祖先元素。jQuery为此提供了漂亮的语法,包括: 这假设containerElement是将要匹配的所有元素的祖先元素
但是,如果您只有一个元素,正如通过给它一个ID建议的那样,那么在创建元素时简单地绑定处理程序可能会更容易。这对我来说很有效,我无法理解。委托。太好了,谢谢你这对我来说很有效,我没法动脑,代表。太好了,谢谢
$('#containerElement').delegate('#hi-1', 'click mouseover mouseleave', highlight);