Как создать одно имя класса в элементе <tr>при нажатии на строку таблицы - PullRequest
0 голосов
/ 04 сентября 2018

Мне нужно включить одно имя класса в тег при нажатии на соответствующую строку в таблице, потому что мне нужно выделить строку, когда я нажимаю на соответствующую строку с использованием css. Когда я нажимаю на строку, в консоли не отображается имя класса; из-за этого я не могу создать выделение строк.

Вот код, который я использую:

click: function () {
    var test = this.HeaderRowView.tableView.model;
     $('.content-data').off('contextmenu');
     $('.content-data').contextmenu(function(e){
        if(e.which == 3){
            var ibmm = this.hovered;
            var model = Core.model.Menu.create({
                loadState: 'done',
                content: [
                    Core.model.Menu.Item.create({
                        label: 'Delete IBMM Definition',
                        icon: 'delete',
                        invoke: function () {
                            var fmtLabel = ibmm.label ? (ibmm.label + " ("+ibmm.name+")") : ibmm.name;
                            Core.confirm(
                                "Delete IBMM Definition",
                                "Are you sure you want to delete the IBMM Definition for " + fmtLabel + "?",
                                "Delete",
                                "Cancel"
                            ).then(function () {
                                Core.services({
                                    service: 'ibmm',
                                    type: 'delete',
                                    data: {
                                        name: ibmm.name
                                    }
                                }).done(function () {
                                    test.reload();
                                    Core.notify({
                                        title:"Delete IBMM Definition",
                                        message: "IBMM Definition " + fmtLabel + " deleted"
                                    });
                                });
                            });
                        }
                    })
                ]
            });
            var view = Core.view.Menu.create({
                model: model,
                menuContext: { ibmm: ibmm },
            });
            document.styleSheets[1].cssRules["1538"].style.display ="none"
            view.show();
            Ember.run.next(view, (function () {
                var X = e.clientX;
                var Y = e.clientY;
                if(document.getElementsByClassName('context-menu-items')[0]) {
                    document.getElementsByClassName('context-menu-items')[0].style.left = X+'px';
                    document.getElementsByClassName('context-menu-items')[0].style.top = Y+'px';
                    document.styleSheets[1].cssRules["1538"].style.display =""
                    document.getElementsByClassName('context-menu-items')[0].style.display = "block"
                } else {
                    view.remove()
                    document.styleSheets[1].cssRules["1538"].style.display =""
                    return false;
                }
            }).bind(this));
            return false;
        }
        }.bind(this))
}

Вот вариант щелчка с соответствующим кодом. Пожалуйста, предложите ответы с этой точки зрения. заранее спасибо.

1 Ответ

0 голосов
/ 04 сентября 2018

Я думаю, вы могли бы использовать что-то вроде этого:

$(".your-tr-class").removeClass("your-tr-class");
$(this).closest("tr").addClass("your-tr-class");

Сначала вы должны найти предыдущий выделенный tr и удалить класс, а затем добавить его к тому, на который щелкаете.

...