2011-10-04 60 views
0

过去了所以我有这个PHP代码访问在Javascript链接从PHP

</div> 
    <div id="topmusicartisttitle">Top 5 Music Artist</div> 
    <div class="edit"><a href="" name="topartistsedit">edit</a></div> 
    <div id="topmusicartistlist"> 
    <ul> 
    ... 

,基本上通过的东西的清单,我希望能够在此单击一个JavaScript HREF,但我不希望它会去任何我只想抓住点击并处理它。所以开始我有:

$('a[name=birthdayedit').live('click',function(e){ 
    e.preventDefault(); 
    }); 

但这似乎并不奏效。我检查了萤火虫和href和名称(显然),但点击没有在Javascript中注册,它仍然重定向。我认为live是使用的函数,因为这是非常动态创建的内容。任何人知道我在做什么错了?

+0

你有没有尝试在你的点击处理程序中包括'return false;'? – Polynomial

+1

你的代码段中没有'birthdayedit'命名的字段,并且你在jquery选择器中缺少关闭']'。 –

+4

'$('a [name = birthdayedit')'是一个错误。与'$('a [name = birthdayedit]')'比较。 – tylerl

回答

0

我看到几个错误:

  1. 没有闭架(一])在a[name=birthdayedit'
  2. 在HTML name属性是从该JS 引用不同。
+0

谢谢大家,不知怎的,我错过了那个右括号。我也没有发布JavaScript的CORRESPONDING部分,这也是愚蠢的。我只是选择了一个,而不是正确的。再次感谢! –

0

它更容易改变自己的HTML中使用这样的ID:

<div class="edit"><a href="#" id="topartistsedit">edit</a></div> 

而且,那么你就可以捕获点击这样的:

$("#topartistsedit").click(function() { 
    // do what you want in the click function 
    return(false); // returning false stops default behavior and propagation 
}); 

,或者如果内容后动态创建页面加载:

$("#topartistsedit").live("click", function() { 
    // do what you want in the click function 
    return(false); // returning false stops default behavior and propagation 
}); 

这里举例:http://jsfiddle.net/jfriend00/8FgFP/

1

变化

$('a[name=birthdayedit') 

$('a[name=topartistsedit]') 

或在您的HTML更改名称。