YUI onDragDrop несколько слушателей - PullRequest
1 голос
/ 12 ноября 2009

Мне было интересно, знает ли кто-нибудь о примере, который показывает несколько слушателей события onDragDrop YUI DDProxy, DD или DDTarget. В настоящее время у меня есть взломанный пример. Я использую пример http://developer.yahoo.com/yui/examples/datatable/dt_ddrows.html'>DataTable Reorder Rows. Я изменил его в несколько классов JS. Один объект, который они переопределяют для DDProxy, обрабатывает событие onDragDrop, но кажется, что если он обрабатывается здесь, ничто другое не перехватывает событие. Проверьте снип:

YAHOO.extend(YAHOO.example.DDRows, YAHOO.util.DDProxy, {
    //snip
    onDragDrop: function(e, id) {
    if (id == "right-function-pane") {
        alert("In the right drop place");

        YAHOO.util.DragDropMgr.refreshCache();
    }
}

В классе, который создает DDRows, я также хочу прослушать событие здесь. Некоторые действия более уместны в некоторых местах. Я хочу слушать событие в обоих местах. Вот что я делаю в классе, который строит вышеописанное:

    onDropHandler: function(e, id) {
        DragDropTable.myDataTable.deleteRow(YAHOO.util.DragDropMgr.dragCurrent.id);
    },

    rowInitializer: function() {
    var i, id, myDDRow,
        allRows = DragDropTable.myDataTable.getTbodyEl().rows;

    for (i = 0; i < allRows.length; i++) {
        id = allRows[i].id;
        // Clean up any existing Drag instances
        if (DragDropTable.myDTDrags[id]) {
            DragDropTable.myDTDrags[id].unreg();
            delete DragDropTable.myDTDrags[id];
        }
        // Create a Drag instance for each row
        myDDRow = new YAHOO.example.DDRows(id);
        myDDRow.srcData = DragDropTable.myDataTable.getRecord(id).getData();
        myDDRow.onDragDrop = DragDropTable.onDropHandler;            
        DragDropTable.myDTDrags[id] = myDDRow;
    }
}

Кажется, будто один слушает, другой не работает. Я не нашел синтаксис для разрешения событий продолжать пузыриться или иметь несколько подписок на onDragDrop. У кого-нибудь есть правильный синтаксис?

Спасибо Джош Робинсон

...