Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.10.2017, 13:02
Кандидат Javascript-наук
Отправить личное сообщение для гуня Посмотреть профиль Найти все сообщения от гуня
 
Регистрация: 22.08.2009
Сообщений: 105

почему не работает код
этот работает

$("#leadTemplate").tmpl(leads).appendTo('.box-min-'+data.status+' .main_box');
$(".draggable-item").contextmenu({
                            'update lead': function(event, element) { location.href = '/lead/update/' + $(element).attr('id'); },
                            'update notes': setNotes,
                            'copy lead': function(event, element) { location.href = '/lead/create/' + $(element).attr('id'); }
                        }, 'right');


а такой нет
function contextmenu(leadsHtml) {
    $(leadsHtml).find(".draggable-item").contextmenu({
        'update lead': function(event, element) { location.href = '/lead/update/' + $(element).attr('id'); },
        'update notes': setNotes,
        'copy lead': function(event, element) { location.href = '/lead/create/' + $(element).attr('id'); }
    }, 'right');
}

leadsHtml = $("#leadTemplate").tmpl(leads);

                    $(leadsHtml).appendTo('.box-min-'+data.status+' .main_box');
                    contextmenu(leadsHtml);
Ответить с цитированием
  #2 (permalink)  
Старый 24.10.2017, 13:05
Кандидат Javascript-наук
Отправить личное сообщение для гуня Посмотреть профиль Найти все сообщения от гуня
 
Регистрация: 22.08.2009
Сообщений: 105

не работает это значит что contextmenu не применяется
Ответить с цитированием
  #3 (permalink)  
Старый 24.10.2017, 13:56
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

гуня,
Похоже, красное лишнее
$(leadsHtml).appendTo('.box-min-'+data.status+' .main_box');
Ответить с цитированием
  #4 (permalink)  
Старый 24.10.2017, 14:02
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,794

Dilettante_Pro, jq не спотыкается, если в "конструктор" передать "jQueryObject".
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<script>$(function(){
    console.log($($('body')));
});</script>
Ответить с цитированием
  #5 (permalink)  
Старый 24.10.2017, 14:34
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

может setNotes не определено?
Ответить с цитированием
  #6 (permalink)  
Старый 24.10.2017, 14:38
Кандидат Javascript-наук
Отправить личное сообщение для гуня Посмотреть профиль Найти все сообщения от гуня
 
Регистрация: 22.08.2009
Сообщений: 105

Сообщение от рони Посмотреть сообщение
может setNotes не определено?
определено

добавлю что я хочу
у меня 3000 дивов с классом draggable-item
я счас рендерю по 100 дивов, и хочу сразу повесить на эти 100 дивов contextmenu
если сразу вешать на 3000 командой
$(".draggable-item").contextmenu
то работает
а на каждые 100 дивов нет
Ответить с цитированием
  #7 (permalink)  
Старый 24.10.2017, 15:08
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,794

гуня, попробуйте так:
$('.box-min-'+data.status+' .main_box').append(
	$("#leadTemplate").tmpl(leads)
).find(".draggable-item:not(.handled)").addClass('handled').contextmenu({
	'update lead': function(event, element) { location.href = '/lead/update/' + $(element).attr('id'); },
	'update notes': setNotes,
	'copy lead': function(event, element) { location.href = '/lead/create/' + $(element).attr('id'); }
}, 'right');
Ответить с цитированием
  #8 (permalink)  
Старый 24.10.2017, 21:20
Кандидат Javascript-наук
Отправить личное сообщение для гуня Посмотреть профиль Найти все сообщения от гуня
 
Регистрация: 22.08.2009
Сообщений: 105

все оказалось гораздо проще
leadsHtml.contextmenu({
        'update lead': function(event, element) { location.href = '/lead/update/' + $(element).attr('id'); },
        'update notes': setNotes,
        'copy lead': function(event, element) { location.href = '/lead/create/' + $(element).attr('id'); }
    }, 'right');
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему не работает? Rora Общие вопросы Javascript 7 10.05.2017 10:09
Не пойму почему мой код не работает SaM1001 jQuery 6 03.03.2017 18:02
Почему в мозиле не работает jquery код? blazer-05 jQuery 20 27.02.2017 21:42
Почему код работает? (обращение к форме из window) Василий Б. Элементы интерфейса 10 21.04.2010 10:10
Почему не работает код? JSprog Общие вопросы Javascript 4 16.08.2009 14:39