#javascript #jquery #element #jquery-events
#javascript #jquery #элемент #jquery-события
Вопрос:
Я загружаю данные в flexigrid. Я пытаюсь использовать селекторы jQuery, чтобы сделать строки интерактивными, но у меня это не получается. Я хочу знать, был ли элемент полностью загружен, как мне это сделать?
Я хочу сделать что-то вроде if(element.load == true){//do this}
. Я не уверен, как это проверить. Кто-нибудь может мне помочь с этим.
Хорошо, итак, у меня уже есть этот div, и я привязываю гибкую сетку к этому div. Я хочу знать, была ли привязана гибкая сетка.
$("#GridLoad").flexigrid();
Я хочу знать, была ли привязана гибкая сетка, после этого мне нужно запустить фрагмент кода.
Использование a live()
в div Gridload
всегда будет верным, поскольку оно уже есть. : (
Комментарии:
1. Привязываете ли вы события щелчка к своим строкам, используя либо $.live(), либо $.delegate()?
2. Я привязываю гибкую сетку к div, я хочу выполнить фрагмент кода после того, как гибкая сетка была привязана к этому div
Ответ №1:
Я хочу знать, был ли элемент полностью загружен?
Похоже, что происходит onSuccess
обратный вызов.
$("#GridLoad").flexigrid({
'onSuccess': function() {
// Do this.
}
});
В противном случае, если вещи, которые вы привязываете, теряются при обновлении таблицы, прикрепите события через on()
или просто зафиксируйте их в постоянном элементе-предке и изучите event.target
.
Комментарии:
1. @macha Не беспокойся, мне повезло, что я нашел это, потому что flexigrid плохо документирован : P
2. да, это плохо документировано. Я пытался сделать onSelect, onClick и т.д., мне повезло найти это.
3. @macha Я нашел это только потому, что изучил код плагина. 🙂
Ответ №2:
Вы можете использовать $(element).live(‘click’, function () { // сделать что-нибудь });
чтобы при последующей загрузке он имел соответствующую привязку к событию.
Комментарии:
1. Привет, Тим, спасибо за ответ, я внес правку, пожалуйста, взгляните на нее
Ответ №3:
вы могли бы использовать функцию обратного вызова метода load jquery.
вот так :
$('#result').load('ajax/test.html', function() {
alert('Load was performed.');
});
Даже если вы не используете метод ‘load’, почти любой метод в jquery поддерживает обратные вызовы, которые выполняются после завершения функциональности.
Например, ajax() имеет успешные и неудачные обратные вызовы, animations имеет обратные вызовы и т.д.