Переписать встроенный JavaScript для внешней функции - это ссылка - PullRequest
0 голосов
/ 06 мая 2019

Я пытаюсь переписать некоторый код javascript из встроенного вызова кнопки при нажатии на обычную функцию javascript.

Я использовал эту ссылку в своем коде, чтобы удалить столбец таблицы, который работал отлично.Поскольку мне нужно использовать строку кода в нескольких местах, я хочу, чтобы она была в обычной функции javascript.

Что у меня было:

<button type="button"  tabindex="-1" class="btn btn-secondary btn-tblrmv" onclick="if(!$(this).closest('tr').hasClass('notDeletable')){ $(this).closest('tr').remove(); }">
   <i class="mdi mdi-minus"></i>
</button>

, что касается самой функции javasript:

function removeTableRow(){
     if(!$(this).closest('tr').hasClass('notDeletable')){ 
          $(this).closest('tr').remove(); 
     }
}

Может кто-нибудь объяснить, почему это работает не так, как задумано?

1 Ответ

2 голосов
/ 06 мая 2019

Это не работает, потому что это не относится к текущему элементу. Попробуйте с:

HTML:

  <button type="button" tabindex="-1" class="btn btn-secondary btn-tblrmv" onclick="removeTableRow(this)">
       <i class="mdi mdi-minus"></i>
    </button>

JS:

function removeTableRow (row) {
     if (!$(row).closest('tr').hasClass('notDeletable')) { 
          $(row).closest('tr').remove(); 
     }
}
...