e.preventDefault()根本不工作

时间:2012-05-24 15:34:07

标签: jquery ajax javascript-events preventdefault

我有一个小小部件来显示本页边栏http://jbm.utad.pt/testes/equipa.php

的天气

一旦文件准备就绪,它就会通过AJAX将城市名称拍摄到processa-tempo.php,填充主页中的div:

<div id="exibe-tempo"></div>

手风琴用于显示预测和选择不同的城市,这就是问题所在。这里的代码有点长,所以我做了这个:http://jsfiddle.net/jZjQy/1/

它包含了equipa.php中的jquery和processa-tempo.php返回的标记。

如果我点击一个新的城市......它没有按照预期行事(刷新div&#34; exibe-tempo&#34;)

我真的不知道调试这个...有什么帮助吗?非常感谢。

2 个答案:

答案 0 :(得分:1)

我查看了您的网站。这就是我的想法。让我知道它是否适合你。

点击城市的代码定义如下,

    $("#cidades").click(function(event){
  event.preventDefault ? event.preventDefault() :event.returnValue = false;
      ..... });

但您的链接定义为,

    <a href="Penafiel" class="cidade">Penafiel</a>

将您的jquery更改为,

    $(".cidade").click(function(event){
  event.preventDefault ? event.preventDefault() :event.returnValue = false;
      ..... });

这样,您就可以将click函数绑定到每个标记而不是围绕它的UL。我在您的网站上尝试了上述代码,但它确实有效。

由于我无法发布图片 - &gt; http://i.stack.imgur.com/FeRnb.png

答案 1 :(得分:1)

我再次检查了您的网页,可能发现了错误。您可以动态添加包含城市的链接。但onclick绑定来自页面加载事件。所以你必须像这样为这个事件应用一个实时监听器:

$(document).on('click','.cidade',function(event){
event.preventDefault();