2013-11-18 2 views
2

Я недавно встретил эту функцию, я не уверен, что делают первые несколько строк.Непонятно, как работает эта функция jQuery

Может ли кто-нибудь объяснить это мне?

Приветствия

jQuery.extend(jQuery.ui.dialog.prototype.options, { 
    create: function(event) { doSomthing(event); } 
}); 

function doSomthing(event) { 

    STUFF 
} 
+0

'jQuery.extend' - объединить содержимое двух или более объектов вместе в первый объект. – Praveen

+0

Копирование и вставка непосредственно из документов на самом деле не очень помогает все время. – Daft

ответ

3

$.extend - это функция jquery, которая объединяет объекты, переписывая любые ключи объектов с более новыми «версиями».

// Will overwrite the name property. Output in this case is 'john' 
// as it overwrites 'dave' 
$.extend({name : "dave"}, {name : 'john'}); 

В случае примера кода вы дали, $.extend является перезапись прототипа объекта в диалоговом виджете jQueryUI с другой функцией, изменяя таким образом, как «диалог» виджет ведет себя, когда он будет создан.

+0

Отлично, ура Дэвид – Daft

+0

Нет проблем. Просто заметил, что это на самом деле делает ... он создает глобальный «создать» обратный вызов для всех виджетов диалогового окна. То же самое относится и к тому, что на самом деле это не изменение какого-либо кода ядра виджета диалогового окна. –

3
  1. jQuery.extend - Объединение содержимого двух или более объектов вместе в первый объект.
  2. jQuery.ui.dialog.prototype.options - общее поле options для всех диалогов ui. Дополнительная информация о наследовании прототипов here.
1

Он связывает вызов doSomthing в create случае jQuery.ui.dialog или jQuery.ui.dialog.prototype.options.

Так doSomthing можно вызвать при создании диалога или опции. Не уверен, что реализовано создание опции.

Смежные вопросы