не может отключить onclick () - PullRequest
0 голосов
/ 13 июня 2019

Я пытаюсь отключить событие onclick, но оно не работает. На главной странице появляется модальное окно, а затем я использую onclick (), чтобы позволить конечному пользователю редактировать часть содержимого на странице.

После этого я хочу использовать OnBlur () для запуска другого скрипта, который обновляет базу данных. Эта функция отлично работает с обычными текстовыми полями, но мне нужно отключить событие onclick, так как я теперь отображаю поле выбора с этой функцией:

function EditField(editableObj,column,app_id) {
    $(editableObj).css("background","#B8B8FA");
    $(this).attr('disabled', true);
    var data = `<input type="checkbox" name="YesNo" id="YesNo" checked data-toggle="toggle" data-off="No" data-on="Yes" data-onstyle="success" data-offstyle="danger">`;
    $(editableObj).html(data);

}

Это скрипт PHP:

echo "<td contenteditable=\"true\" onBlur=\"saveToDatabase(this,'credit_checks','".$results[$k]["app_id"]."')\" onClick=\"EditField(this,'credit_checks','".$results[$k]["app_id"]."'); \">".(($results[$k]["credit_checks"] == "Yes") ? "<img src=\"images/checkmark.png\" width=\"20\" height=\"20\" />" : "")."</td>";

Я попробовал вариант

 $(editableObj).prop('disabled', true);

тоже, но все равно не работает.

Как только я нажимаю на поле, появляется флажок, но он уже нажат и не меняет параметр.

1 Ответ

1 голос
/ 24 июня 2019

Вы должны сделать функцию, возвращающую false, чтобы отключить событие

function EditField(editableObj,column,app_id) {
    if ($(this).attr('disabled')) {
        return false;
    }

    $(editableObj).css("background","#B8B8FA");
    $(this).attr('disabled', true);
    var data = `<input type="checkbox" name="YesNo" id="YesNo" checked data-toggle="toggle" data-off="No" data-on="Yes" data-onstyle="success" data-offstyle="danger">`;
    $(editableObj).html(data)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...