JQuery делегат в Internet Explorer 8 не работает - PullRequest
1 голос
/ 17 ноября 2011

Вот код:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <title>TITLE</title>

 <link type="text/css" href="jsutil/menubar/menu.css" rel="stylesheet"/>
 <link type="text/css" media="screen" href="jsutil/tablesorter/css/style.css" rel="stylesheet"/>

 <script type="text/javascript" src="js/jquery-1.7.min.js"></script>
 <script type="text/javascript" src="jsutil/menubar/menu.js"></script>
 <script type="text/javascript" src="jsutil/tablesorter/js/jquery.tablesorter.min.js"></script>
 <script type="text/javascript" src="jsutil/tablesorter/js/jquery.tablesorter.pager.js"></script>

 <script type="text/javascript">
$(document).ready(function(){

        $("#tabe").tablesorter();
        $("#tabe").width(600);

        $("#tabe").delegate("td", "click", function() 
        {
         var idCampanha = $(this).parent().find("td:first").html();
         //Seleciona campanha
         alert("clicked in: "+idCampanha);
         event.preventDefault();
        });


        $("#buscacamp").delegate("#bbcamp", "click", function()
        {
            alert("doing post");
            var jqxhr = $.post("php/slistar_campanhas.php", 
            {nome : $("#bcamp").val() },
            function(data)
            {
                $("#tabe > tbody").empty();
                for(var i=0;i<data.length;i++)
                {
                    var obj = data[i];
                    $("#tabe > tbody:last").append('<tr><td>'+obj.idcampanha+'</td><td>'+obj.nome+'</td></tr>');
                }
                event.preventDefault();
            },
            "json"
             );
             alert("post done");
            jqxhr.error(function(){ alert("Erro") });
            event.preventDefault();
        });


});
</script>
</head>
<body bgcolor="#3B3131">

    <div id="menu">
          ...JUST A WORKING MENU HERE
    </div>




    <div id="corpo" align="center">
        <h1 align="center" style="color:#F8F8F8">Selecionar Campanha</h1>
        <form id="buscacamp">
            <label style="color:#F8F8F8" for="bcamp">Nome da campanha</label>
            <input align="middle" size="35" type="text" name="bcamp" id="bcamp"/>
            <br/>
            <input type="submit" id="bbcamp" value="OK"/>
        </form>
        <table id="tabe" class="tablesorter" cellspacing="1">
                <thead>
                        <tr>
                                <th>Código da Campanha</th>
                                <th>Nome da Campanha</th>
                        </tr>
                </thead>
                <tfoot>
                        <tr>
                                <th>Código da Campanha</th>
                                <th>Nome da Campanha</th>
                        </tr>
                </tfoot>
                <tbody>

                </tbody>
        </table>
        <h1 id="titulo" class="cor" style="color:#F8F8F8">Nova Solicitação</h1>
        <form id="novasol">
            <label for="campanha" style="color:#F8F8F8">Campanha</label>
            <input size="20" type="text" name="campanha" id="campanha" readonly/>
            <br/><br/>
            <label for="titulo" style="color:#F8F8F8">Título</label>
            <input size="35" type="text" name="titulo" id="titulo"/>
            <br/><br/>
            <label for="descricao" style="color:#F8F8F8">Descrição</label>
            <textarea  rows="17" cols="55" id="descricao"></textarea>
            <br/>
            <label for="naudios" style="color:#F8F8F8">Número de áudios</label>
            <input size="10" type="text" name="naudios" id="naudios"/>
            <input type="submit" id="enviar" value="Enviar"/>
        </form>
    </div>


</body>
</html>

Выход Chrome при нажатии #bbcamp: 1- оповещение, делающее пост

2 - оповещение сделано

3 - добавить строки в таблицу, и когда я нажимаю на них, появляется еще одно предупреждение

Вывод IE 8 при нажатии #bbcamp: 1- оповещение о поступлении сообщения

2 - добавить строки в таблицу

3 - оповещение сделано

4 - стирает строки и оставляет меня с пустой таблицей

Я пытался использовать события щелчка, но это тоже не сработало ... Я использую JQuery 1,7 мин

есть идеи ??

1 Ответ

3 голосов
/ 17 ноября 2011

IE - это JScript, а не JavaScript.

if(event.preventDefault){
    event.preventDefault();
}
else{
    event.returnValue = false;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...