jquery即使使用不带href的标记也可以单击
我在主页上定义了一个id为“mydiv”的DIV。然后我使用ajax在该DIV中加载一些链接文本 现在我想在任何人点击这些链接时做点什么,所以我定义了jquery,如下所示jquery即使使用不带href的标记也可以单击,jquery,ajax,Jquery,Ajax,我在主页上定义了一个id为“mydiv”的DIV。然后我使用ajax在该DIV中加载一些链接文本 现在我想在任何人点击这些链接时做点什么,所以我定义了jquery,如下所示 $("#mydiv > a").live('click',function(){ alert($(this).text()); }); 加载的内容如下表所示 <a style="cursor:pointer;">Text 1</a> <a style="cursor:pointer;
$("#mydiv > a").live('click',function(){
alert($(this).text());
});
加载的内容如下表所示
<a style="cursor:pointer;">Text 1</a>
<a style="cursor:pointer;">Text 2</a>
<a style="cursor:pointer;">Text 3</a>
Text 1
文本2
文本3
谁能告诉我我做错了什么
谢谢,因为您正在动态地(通过ajax)加载id为“mydiv”的
DIV中的内容…请使用委托事件
$("#mydiv").on('click','a',function(e){
e.preventDefault(); //you may not need this... but this stops the default behaviour of <a> tag
alert($(this).text());
});
$(“#mydiv”)。在('click','a',函数(e)上{
e、 preventDefault();//您可能不需要它……但这会停止标记的默认行为
警报($(this.text());
});
由于您正在动态(通过ajax)加载id为“mydiv”的DIV中的内容,因此请使用委托事件
$("#mydiv").on('click','a',function(e){
e.preventDefault(); //you may not need this... but this stops the default behaviour of <a> tag
alert($(this).text());
});
$(“#mydiv”)。在('click','a',函数(e)上{
e、 preventDefault();//您可能不需要它……但这会停止标记的默认行为
警报($(this.text());
});
您可以这样使用
html
Text 1
文本2
文本3
您可以这样使用
html
Text 1
文本2
文本3
当您动态加载内容时,.on()
处理程序将在jQuery 1.9.0版中用于此操作:
您必须将事件
委托给最近的现有父级
,或直接委托给文档
(它是所有其他元素的父级)
或:
当您动态加载内容时,.on()
处理程序将在jQuery 1.9.0版中用于此操作:
您必须将事件
委托给最近的现有父级
,或直接委托给文档
(它是所有其他元素的父级)
或:
您使用的是哪个jquery版本?即使live
已被弃用(并在1.9.0上删除),它仍应在1.8及更旧版本上运行。使用jQuery 1.8在此处运行良好。
标记是mydiv
的直接子项吗?我正在使用jquery 1.8.3…哇。。如果它是JSFIDLE,那么让我再次搜索我的整个代码。。切换到on()
的问题可能是什么?正如其他人所示,我猜
在DIV中有其他祖先,选择器使用
时出错,您使用的是哪个jquery版本?即使live
已被弃用(并在1.9.0上删除),它仍应在1.8及更旧版本上运行。使用jQuery 1.8在此处运行良好。
标记是mydiv
的直接子项吗?我正在使用jquery 1.8.3…哇。。如果它是JSFIDLE,那么让我再次搜索我的整个代码。。切换到on()
的问题可能是什么,我猜
在DIV中有其他祖先,选择器使用
是错误的
在上使用不会将处理程序委派给
标记,也不会代替live
,因为在上使用不会将处理程序委派给
标记,也不会代替如果使用了jQuery 1.9.0版,则
上的
比jQuery 1.9版追溯得更远。
上的
比jQuery 1.9版追溯得更远。这是有效的!!奇怪的是,我使用的是1.8.3,所以live应该也能工作。。。不管怎样,谢谢…这很有效!!奇怪的是,我使用的是1.8.3,所以live应该也能工作。。。无论如何,谢谢。。。
<a style="cursor:pointer;">Text 1</a>
<a style="cursor:pointer;">Text 2</a>
<a style="cursor:pointer;">Text 3</a>
$("#mydiv").on('click','a', function(){
alert($(this).text());
});
$(document).on('click','#mydiv a', function(){
alert($(this).text());
});