簡體   English   中英

此JavaScript函數可以單獨運行,但不能與其他JavaScript函數一起使用

[英]This JavaScript Function Works Alone, But Not With Other JavaScript Functions

我有這個javascript:

<script type="text/javascript">
$(document).ready(function($) {
        $('#target-share ul li').click(function() {
            $('input#shareto').val($(this).data('val'));
        });
    });
</script>

它確實按我預期的那樣工作。 但是,當我添加另一個JavaScript做下拉動畫時,該JavaScript無法正常工作:

<script type="text/javascript">
$(document).ready(function() {
    $("#select-shareto a").click(function () {
        var newClass = $(this).find("span").attr('class');
        var newText = $(this).find("span").text();
        $("#select-shareto a").removeClass("selected");
        $(this).addClass("selected");
        $("a#to-chosen span").removeClass().addClass(newClass).text(newText);
        $("a#to-chosen").toggleClass("opened");
        $('#select-shareto').slideToggle('fast');
        return false;
    });

    $('a#to-chosen').click(function() {
        $(this).toggleClass("opened");
        $('#select-shareto').slideToggle('fast', function() {
            // Animation complete.
        });
    });
});
</script>

那些實際上在此HTML代碼上受影響的javascript:

<div id="target-share">
<a href="#" title="" id="to-chosen" class="default"><span class="to-admin">Admin</span></a>
<ul id="select-shareto">
<li data-val="0-1">
<a href="#" title="" class="selected"><span class="to-Finance">Finance</span></a>
</li>
<li data-val="1-1">
<a href="#" title=""><span class="to-admin-private">Admin Private</span></a>
</li>
<li data-val="1-0">
<a href="#" title=""><span class="to-ceo">CEO</span></a>
</li>
<li data-val="0-0">
<a href="#" title=""><span class="to-ceo-private">CEO Private</span></a>
</li>                                    
</ul>
<input id="shareto" type="text" value="0-1" name="shareto">
</div><!-- #target-share -->

任何想法如何使這2個javascript並排工作? 謝謝。

$("#select-shareto a").click(function () {
    ...
    return false;
});

因此,您停止了此事件的進一步傳播-此click事件的其他處理程序將不再被調用。 而是使用以下命令:

$("#select-shareto a").click(function (e) {
    e.preventDefault();
    ...
});

jsfiddle.net上的演示

我假設您嘗試在注釋動畫完成的位置插入代碼,如果是這樣,您只需要輸入以下代碼: $('#target-share ul li').click(function() { $('input#shareto').val($(this).data('val'));});

您的代碼已經包裝在$(document).ready因此您不需要其他代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM