Internet Explorer只是不喜欢这个jQuery代码。 (Livequery插件)

时间:2009-07-31 06:27:55

标签: jquery internet-explorer internet-explorer-8 internet-explorer-7 livequery

这是我正在建设的服装比赛应用程序的代码。将有一排单选按钮1-10包裹在标签中,这些按钮都可以单独点击。在click事件中,表单将提交,我做一些后处理并返回一个json对象,我将从中将post数据注入页面。这个过程将一直持续到你为比赛中的每件服装投票为止。

Firefox,Safari,Camino都按预期工作。 所有IE都在容器上翻转= form.parents(“#container”); javascript的行(随后对容器的任何其他引用也会失败。

值得注意的是,表单变量很好。后续警报(表格[0] .id);确实按照预期回应了costume_rating_form。我不确定何时不能使用jquery对象来查找#container元素。

我怀疑livequery没有正确绑定到IE浏览器中的click事件。有没有人对此有任何见解以及如何解决这个问题?

$("form#costume_rating_form input[type=radio]").livequery("click",function(){
    form = $(this).parents("form:first");
    container = form.parents("#container");
    vote_eid = form.find("input#vote_eid");
    contest_results = container.find("#contest_results");
    contest_image = container.find(".contest_image:first");
    contest_next = container.find("#side_bar #next_up");
    contest_content = contest_image.next();
    .....

<div class="full center" id="container">
    <div class="s1-2" id="main">
        <div class="s_w clearfix">
            <div id="costume_rating">
                <h3 class="middle">
                    Rate This Costume
                </h3>
                <form action="/costume-rate/" method="post" id="costume_rating_form" name="costume_rating_form">
                    <label style="display: none;" for="costume_rating" class="error contest_selector">Please select a rating.</label>
                    <div id="rating_scores">
                        <!-- <div class="rate_tab radius_t_5">Rate This Costume</div> -->
                        <div class="thumb_down">
                            :-/
                        </div>
                        <div class="middle">
                            <label for="r1" class="contest_selector"><input type="radio" value="1" name="costume_rating" id="r1" class="radio" style="position: absolute; top: 0pt; right: 99999px;">1</label> <label for="r2" class="contest_selector"><input type="radio" value="2" name="costume_rating" id="r2" class="radio" style="position: absolute; top: 0pt; right: 99999px;">2</label> <label for="r3" class="contest_selector"><input type="radio" value="3" name="costume_rating" id="r3" class="radio" style="position: absolute; top: 0pt; right: 99999px;">3</label> <label for="r4" class="contest_selector"><input type="radio" value="4" name="costume_rating" id="r4" class="radio" style="position: absolute; top: 0pt; right: 99999px;">4</label> <label for="r5" class="contest_selector"><input type="radio" value="5" name="costume_rating" id="r5" class="radio" style="position: absolute; top: 0pt; right: 99999px;">5</label> <label for="r6" class="contest_selector"><input type="radio" value="6" name="costume_rating" id="r6" class="radio" style="position: absolute; top: 0pt; right: 99999px;">6</label> <label for="r7" class="contest_selector"><input type="radio" value="7" name="costume_rating" id="r7" class="radio" style="position: absolute; top: 0pt; right: 99999px;">7</label> <label for="r8" class="contest_selector"><input type="radio" value="8" name="costume_rating" id="r8" class="radio" style="position: absolute; top: 0pt; right: 99999px;">8</label> <label for="r9" class="contest_selector"><input type="radio" value="9" name="costume_rating" id="r9" class="radio" style="position: absolute; top: 0pt; right: 99999px;">9</label> <label for="r10" class="contest_selector"><input type="radio" value="10" name="costume_rating" id="r10" class="radio" style="position: absolute; top: 0pt; right: 99999px;">10</label> <input type="submit" value="Vote" name="submit" id="vote_button" class="submit" style="display: none;">
                        </div>
                        <div class="thumb_up">
                            8-D
                        </div>
                    </div><input type="hidden" value="4847" name="vote_eid" id="vote_eid"> <input type="hidden" value="23339" name="user_id"> <input type="hidden" value="105" name="contest_id">
                </form><br class="clear">
                <div class="contest_image">
                    <img src="/users/kylebradshaw-3161-full.gif" style="display: inline;">
                </div>
                <div class="contest_content">
                    <div class="contest_metar">
                        <table class="contest_meta">
                            <tbody>
                                <tr>
                                    <th>
                                        Title
                                    </th>
                                    <td>
                                        <b>hre's a title of the thing</b>
                                    </td>
                                </tr>
                                <tr>
                                    <th>
                                        Description
                                    </th>
                                    <td>
                                        and here's an image of the thing
                                    </td>
                                </tr>
                                <tr>
                                    <th>
                                        Tags
                                    </th>
                                    <td>
                                        <a href="/tag/heres+a+tag/">heres a tag</a>
                                    </td>
                                </tr>
                                <tr>
                                    <th>
                                        Submitted by
                                    </th>
                                    <td style="vertical-align: text-top;" class="submitted_by">
                                        <a href="/user/view/kylebradshaw/">kylebradshaw</a>
                                    </td>
                                </tr>
                                <tr>
                                    <th>
                                        Share This
                                    </th>
                                    <td class="small">
                                        <input type="text" size="46" value="http://cz3.kb.mechmedia.com/costume-rate/4847/" style="padding: 1px; margin-bottom: 4px;" class="text select_box small"><br>
                                    </td>
                                </tr>
                            </tbody>
                        </table>
                    </div><br class="clear">
                    <div id="commentary">
                        <h2>
                            Commentary
                        </h2>
                        <div id="entry_comments">
                            <p>
                                None yet! Leave a comment!
                            </p>
                        </div><!-- end entry_comments -->
                    </div>
                    <div id="comment_here">
                        <h2>
                            Be the first to comment!
                        </h2>
                        <form method="post" action="/update/">
                            <p>
                                <textarea style="width: 90%;" rows="2" name="comment">
                            </p><input type="hidden" value="4847" name="entry_id"><input type="hidden" value="105" name="contest_id"><input type="hidden" value="add_comment" name="action"><input type="hidden" value="html" name="content_type">
                            <p>
                                <input type="submit" value="Add Your Comment" name="submit">
                            </p>
                        </form>
                    </div>
                </div>
            </div>
        </div>
    </div>
    <div class="s1-12" id="side_bar">
        <div class="s_w">
            <div id="next_up">
                <h3>
                    Next
                </h3>
                <div class="img_container">
                    <img alt="" src="/users/Crow_Nest_Vintage-2411-thumb.gif">
                </div>
                <div class="img_container">
                    <img alt="" src="/users/mizzmedusa-2155-thumb.gif">
                </div>
                <div class="img_container">
                    <img alt="" src="/users/tantlaymance-2053-thumb.gif">
                </div>
                <div class="img_container">
                    <img alt="" src="/users/gulfcoastdiesel-2024-thumb.gif">
                </div>
                <div class="img_container">
                    <img alt="" src="/users/PokeyWoman-1578-thumb.gif">
                </div>
            </div>
            <div id="new_up">
                <h3>
                    New
                </h3>
                <div class="img_container">
                    <a href="/costume-rate/4877/"><img alt="" src="/users/kylebradshaw-3197-thumb.gif"></a>
                </div>
                <div class="img_container">
                    <a href="/costume-rate/4874/"><img alt="" src="/users/kylebradshaw-3190-thumb.gif"></a>
                </div>
                <div class="img_container">
                    <a href="/costume-rate/4873/"><img alt="" src="/users/kylebradshaw-3189-thumb.gif"></a>
                </div>
                <div class="img_container">
                    <a href="/costume-rate/4872/"><img alt="" src="/users/kylebradshaw-3188-thumb.gif"></a>
                </div>
                <div class="img_container">
                    <a href="/costume-rate/4871/"><img alt="" src="/users/kylebradshaw-3185-thumb.gif"></a>
                </div>
            </div>
        </div>
    </div>
    <div class="s5-12 end" id="pre_bar">
        <div class="s_w">
            <div id="contest_results">
                <h3>
                    <a href="/costume-rate/4848/">modal test</a> Voting Results
                </h3>
                <div class="contest_image left">
                    <img alt="modal test" src="/users/kylebradshaw-3162-full.gif">
                </div>
                <table class="contest_meta">
                    <tbody>
                        <tr>
                            <th>
                                Official Score
                            </th>
                            <td>
                                <span class="strong shout">6.0/10</span>
                            </td>
                        </tr>
                        <tr>
                            <th>
                                Votes
                            </th>
                            <td>
                                1 vote
                            </td>
                        </tr>
                        <tr>
                            <th>
                                You Voted
                            </th>
                            <td>
                                <b class="knock_out">6</b>
                            </td>
                        </tr>
                        <tr>
                            <th>
                                Submitted by
                            </th>
                            <td style="vertical-align: text-top;" class="submitted_by">
                                <a href="/user/view/kylebradshaw/">kylebradshaw</a>
                            </td>
                        </tr>
                        <tr>
                            <th>
                                Share This
                            </th>
                            <td class="small">
                                <input type="text" value="http://cz3.kb.mechmedia.com/costume-rate/4848/" style="padding: 1px; margin-bottom: 4px; width: 90%;" class="text select_box small"><br>
                            </td>
                        </tr>
                    </tbody>
                </table>
            </div><br class="clear">
            <br class="clear">
            <br class="clear">
            <div class="section first" id="contest_info">
                <h1>
                    <span class="costum">C</span><span class="zee">z</span> Costume Contest
                </h1>
                <table class="contest_meta contest_info">
                    <tbody>
                        <tr>
                            <th>
                                Name
                            </th>
                            <td>
                                <b>hats and such</b>
                            </td>
                        </tr>
                        <tr>
                            <th>
                                Started
                            </th>
                            <td>
                                <small>07/15/08</small>
                            </td>
                        </tr>
                        <tr>
                            <th>
                                Ends
                            </th>
                            <td>
                                <small style="margin-bottom: 3px; display: block;">05/13/11</small> <span class="notice">This contest ends in 1 year, 9 months</span>
                            </td>
                        </tr>
                        <tr>
                            <th>
                                Description
                            </th>
                            <td>
                                here is a contest dedicated to awesome hats
                            </td>
                        </tr>
                        <tr>
                            <td></td>
                            <td>
                                <a href="/costume-upload/?contest_id=105&amp;typeof=contest&amp;modal=1&amp;KeepThis=true&amp;TB_iframe=true&amp;width=400&amp;height=500" id="contest_upload" class="funnel thickbox" name="contest_upload">Enter this contest now!</a>
                            </td>
                        </tr>
                    </tbody>
                </table><br class="clear">
            </div>
            <ul id="contests_list">
                <li>
                    <a href="/contest/105">Hats And Such</a><br>
                    <small><b>12767</b> <em>votes</em></small>
                    <p>
                        here is a contest dedicated to awesome hats
                    </p>
                </li>
                <li>
                    <a href="/contest/107">General</a><br>
                    <small><b>3009</b> <em>votes</em></small>
                    <p>
                        This is the anything-goes general contest!
                    </p>
                </li>
            </ul>
        </div>
    </div><br class="clear">
</div>

1 个答案:

答案 0 :(得分:4)

首先,您是否有使用LiveQuery而不是内置Events/live的原因?

其次,由于#container是唯一ID,因此您无需find它。尝试:

container = $("#container");

#vote_eid#contest_results

相同

最后,除非formcontainervote_eid等是全局变量,否则您应该使用var声明它们。

纠正这些问题,如果问题仍然存在,请告诉我们。