почему выполняется обработчик

188
08 марта 2017, 19:33

Из базы выводится следующее

echo "<article>";
    echo "<p><strong>id: </strong>".$row["id"]."</p>";
    echo "<p><strong>title: </strong>".$row["title"]."</p>";
    echo "<p><div class='c_item_editable' id='c_item_edit_".$row["id"]."' data-item-db-id-edit='".$row["id"]."'>Редактировать</p> ";
    echo "<p><div class='c_item_delete'   id='c_item_delete_".$row["id"]."' data-item-db-id-delete='".$row["id"]."'>Удалить</p>";
    echo "<p>--</p><p>--</p><p>--</p><p>--</p>";
echo "</article>";

Затем идет обработчик

/*------Удаление товара и каталога------------*/
$("body").on("click", ".c_item_delete", function(e) {
    e.preventDefault();
    var checkdelete = confirm("Уверены, что хотите удалить?");
    if(checkdelete){
        id=$(this).data("item-db-id-delete");//получение атрибута, параметра, который пошлется в обработчик
        $.ajax({
               type: "POST",
               url: "catalog/remove_code.php",
               data:"post="+id,
               success: function(result) {
                    $("#c_item_delete_"+id).hide();
               }
         });
    }
    else{return false}
});
/*------Редактирование------------------------*/
$("body").on("click", ".c_item_editable", function(e) {
   e.preventDefault();
        location.href = '#editable';
        id=$(this).data("item-db-id-edit");//получение атрибута, параметра, который пошлется в обработчик
        $.ajax({
               type: "POST",
               url: "catalog/edit_output_code.php",
               data:"item_id="+id,
               dataType:'json',
               success: function(result) {
                     $('#editable_title').val(result.title);
                     $('#editable_tovar').val(result.tovar);
               }
         });

});

Никак не могу понять, при удалении, когда нажимаю ок у confirm все прекрасно удаляется, но почему открывается модальное окно #editable то срабатывает location.href = '#editable'; который относится к другому обработчику, который не трогаю.

READ ALSO
Pasport.js создаёт ещё одну сессию

Pasport.js создаёт ещё одну сессию

В общем такая проблемаДелаю авторизацию для node

372
Не открывается изображение для обрезки Jcrop

Не открывается изображение для обрезки Jcrop

Есть скрипт когда пытаюсь сделать превью то превю фото не открывается, но если готовое фото вставить то все работает по ссылке то есть так...

319
Тригер на изменение текста в инпуте

Тригер на изменение текста в инпуте

Какое событие нужно использовать, чтобы оно срабатывало каждый раз, когда в инпут добавляется новый символ?on('change') срабатывает только тогда,...

246
Регистрация обработчиков событий в JavaScript при переборе элементов документа

Регистрация обработчиков событий в JavaScript при переборе элементов документа

Этот вопрос не дубликат, так как он затрагивает не только замыкания, но и иные распространённые ошибки в JS, а также их устранения используя...

287