Проблема с $(document).on('click'…)

242
19 мая 2017, 15:46

Шаблон подгружаются аяксом. В шаблоне таблица и есть кнопки <button type="button" class="btn btn-sm btn-icon btn-default">...</button>. При нажатии на одну из этих кнопок, на нажатую кнопку ставится класс btn-success. Но перед этим надо проеверить, есть ли у кнопки атрибут disabled. И проверка не проходит.

var SetMainImage = function () {
    var $btnMainImg = jQuery('[data-btn-img-main]');
    jQuery(document).on('click', '[data-btn-img-main]', function () {
        var $this = jQuery(this);
        console.log($this);
        if($this.prop('disabled', false))
        {
            $btnMainImg.prop('disabled', false);
            $btnMainImg.removeClass('btn-success').addClass('btn-default');
            var $imgId = $this.parent().parent().data('product-img-id');
        }
    })
};

Проверка не происходит потому что jQuery(this) это массив, а в нем обьект нажатой кнопки.

Если обратиться как к массиву jQuery(this)[0], то возвращается только html а не обьект jQuery. Как получить нажатую кнопку как обьект jQuery?

UPD: Я убрал $btnMainImg и код теперь выглядит так

var SetMainImage = function () {
    jQuery(document).on('click', '[data-btn-img-main]', function () {
        var $this = jQuery(this);
        console.log($this);
        if($this.prop('disabled', false))
        {

        }
    })
};

И всеравно массив,а не объект нажатой кнопки

READ ALSO
Нужен плагин или скрипт для мягкого скролла,чтобы корректно работала функция jquery

Нужен плагин или скрипт для мягкого скролла,чтобы корректно работала функция jquery

Привет всемПОсоветуйте плагин какой-нибудь или скрипт, чтобы смягчить скролл страницы во всех браузерах

343
Wordpress плагин для внешних ссылок

Wordpress плагин для внешних ссылок

Нужен плагин для работы с внешними ссылками, а именно при клике на внешнюю ссылку, чтобы всплывал pop-up с сообщением (сообщение должно редактироваться)Проблема...

268
Как отключить выполнение одной функции jquery в IE

Как отключить выполнение одной функции jquery в IE

Доброго времени сутокЕсть файл main

282
owl carousel проблема с выводом видео

owl carousel проблема с выводом видео

На странице находятся несколько слайдеров (работают нормально) и один видео слайдерПроблема заключается в том что в style у видео прописываются...

292