簡體   English   中英

使eventDelegate與骨干.js一起使用

[英]Getting eventDelegate to work with backbone.js

我有以下js:

SwitcherView = Backbone.View.extend({
    events: {
        'click li' : 'clickLi',
        'click'    : 'click'
    },
    initialize: function(){
        this.liEl = this.$('li');
        console.log(this.liEl);
    },
    clickLi: function(event){
        console.log('click', event);
    },
    click: function(event){
        console.log('click', event);
    }
});

new SwitcherView({el: $('#viewswitcher')});

以及以下HTML:

<div id="viewswitcher" class="block block-nav">
    <div class="block-title">
        <strong><span>Uw kozijn</span></strong>
    </div>
    <div class="block-content">
        <ul class="items">
            <li id="designer-container" class="ui-state-active ui-state-default">
                <span class="ui-icon ui-icon-designer"></span> Ontwerper
            </li>
            <li id="options-container">
                <span class="ui-icon ui-icon-options"></span> Kleuropties
            </li>
            <li id="notes-container">
                <span class="ui-icon ui-icon-notes"></span> Aantekeningen
            </li>
        </ul>
    </div>
</div>

問題是'click'事件確實有效,但我無法使'click li'有效。

我正在運行lobb.js 0.5.3,underscore.js 1.2.1和jQuery 1.6.4。

當我在jsFiddle中嘗試您的代碼時,它工作得很好

愚蠢的問題:您是否通過單擊第一行項目(Uw kozijn)進行測試? 因為如果您不在列表中,那么它就不在列表中……而是在它自己的DIV中,因此您不會同時看到這兩個事件。 但是,如果您單擊其他任何按鈕,則它們都將按我期望的那樣工作。

問題是舊的jQuery驗證庫,更新該庫后,一切都按預期工作!

暫無
暫無

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

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