问问题
24142 次
8 回答
3
试试这个,
$('a.popup').on('click',function(){
alert($(this).parent().parent().attr('id')); // to check whether it is firing....
});
于 2012-12-13T11:55:36.590 回答
2
于 2012-12-13T12:04:53.537 回答
1
采用this
$(document).ready(function() {
$('a.popup').on('click',function(){
var id = $(this).parent().parent().attr('id');
id = id.substring(5);
alert(id);
});
});
于 2012-12-13T12:31:43.433 回答
0
我认为您想将点击回调绑定到您的链接。您可能还想阻止默认行为,否则您的页面将重新加载。
$(".popup").click(function(){
var id = $(this).parent().parent().attr('id')[5];
alert(id);
});
parent
此外,有效地使用类可以在它们失控之前消除大部分调用。例如。
<!-- Make the head div belong to class "head" -->
<div id="block1" class="head">
<div class="slideshow">
<a class="popup" href="#imgform">
$(".popup").click(function(){
// If you click the first link, you'll get "block1" in the alert.
var id = $(this).parents(".head").attr('id');
alert(id);
});
于 2012-12-13T11:49:26.600 回答
0
在您的事件处理程序中,您需要使用实际单击的事件。
$('a.popup').click(function() {
var $id = $(this).parent().parent().attr('id');
...
});
请注意,从 jQuery 1.7 开始,不推荐使用 .live() 方法。使用 .on() 或 .click() 附加事件处理程序。
于 2012-12-13T11:49:53.730 回答
0
采用:
$(document).ready(function() {
var $popup = $('a.popup');
$popup.live('click',function(){
var element = $(this);
var id = element.closest('[id^="block"]').attr('id');
id = id.substring(5);
alert(id);
$.get('index.php?o='+id, function(data) {
element.fancybox({
//do stuff
});
});
});
});
如果您使用的是 jQuery 1.7 +,请使用:
$(document).on('click', 'a.popup' ,function(){
//do Stuff
});
于 2012-12-13T11:55:57.493 回答
0
我遇到了类似的问题,我无法点击我尝试过()它比live()更好。
查看此链接以获取更多信息http://api.jquery.com/on/在此页面中查看页面末尾的最后三个示例,您可能会得到更好的解决方案。
于 2012-12-13T12:23:52.807 回答
0
您可以使用
$(document).on("click", "$popup", function() {
var id = $popup.parent().parent().attr('id');
id = id.substring(5);
alert(id);
$.get('index.php?o='+id, function(data) {
$popup.fancybox({
//do stuff
});
});
于 2013-09-05T07:47:09.430 回答