簡體   English   中英

委派的點擊事件不會觸發

[英]Delegated click event doesn't fire

我正在開發一個Web應用程序。 您可以在此處找到該網站。

如果單擊“道路”圖標,並且在菜單上打開加號(“ +”),將顯示帶有標簽的文本輸入。 這個<ul>使用jQueryUI Sortable插件,當然可以在輸入后對地址進行排序。

地址字段

我想將click事件添加到這些地址字段的標簽中,以便用戶單擊該數字時,將出現一個對話框,在該對話框中,他/她可以手動編輯該數字(如果出現該對話框,可能會適得其反。是數百個地址)。

由於稍后會在其中創建標簽和輸入的<li>元素,因此我嘗試委托click事件,如下所示:

$(document.body).on('click', '.control-label', function () {
    console.log($(this));
});

但是,該事件永遠不會觸發。 我開始認為也許sortable插件會禁用我對該標簽的事件?

這是地址字段的HTML代碼(標簽+輸入+刪除按鈕)

<li>
    <div class="form-group">
        <label class="col-md-1 control-label">1.</label>
        <div class="col-md-11 input-group">
            <input type="text" name="waypoints[]" class="form-control form-control-square waypoint animated fadeInRight" placeholder="Megálló" autocomplete="off" required=""><span class="input-group-btn animated fadeInRight"><button type="button" class="btn btn-square btn-danger btn-removewaypoint animated fadeInRight">×</button></span>
            <div class="search-suggestions">
                <ul></ul>
            </div>
        </div>
    </div>
</li>

是addWaypoint()函數,用於添加新行。 每次用戶單擊+按鈕時都會調用此方法。

編輯:顯然它不是可排序的插件,但其他東西會阻止click事件。 任何人有任何想法嗎?

您需要設置一個與每個控件標簽類相關的變量,以便對其進行console.log(或警告它,或隨時使用它)。

這是我建議您修改javascript的方式:

$(document.body).on('click', '.conrtol-label', function () {
    var spanText=$(this).text();
    console.log($(this));
    alert(spanText);
});

也許這個小提琴會有所幫助: http : //jsfiddle.net/jo6957au/1/

修改為使用li的http://jsfiddle.net/jo6957au/3/

暫無
暫無

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

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