2013-06-24 3 views
1
<!DOCTYPE html> 
    <html> 
     <head> 
     <script src="http://code.jquery.com/jquery-1.9.1.js"></script> 
     </head> 
     <body> 
     <a href="http://jquery.com">default click action is prevented</a> 
     <div id="log"></div> 
     <script> 
      $("a").click(function(event) { 
       event.preventDefault(); 
       $('<div/>') 
        .append('default ' + event.type + ' prevented') 
        .appendTo('#log'); 
      }); 
     </script> 
     </body> 
    </html> 

Приведенный выше код взят из: http://api.jquery.com/event.preventDefault/пытается понять один Jquery пример

Вопрос:

  1. function(event), я знаю, что здесь событие означает: нажмите, но как объект нажмите пройти значение для этого параметра: событие?

  2. $('<div/>') 
    .append('default ' + event.type + ' prevented') 
    .appendTo('#log'); 
    

Я знаю append() и appendTo(), но до сих пор было трудно понять эту строку, $('<div/>') значит создать <div/>? Обычно я вижу только этот стиль: $('div').append(), может ли кто-нибудь объяснить эту строку мне? Благодарю.

+0

для вашего первого вопроса прочитайте объяснение здесь: https://developer.mozilla.org/en-US/docs/Web/API/Event#DOM_Event_interface – Stano

ответ

2

Объект параметра event автоматически передается с помощью JQuery, когда событие триггера.

$('<div/>') создаст новый элемент <div></div>.

.append('default ' + event.type + ' prevented') добавит «по умолчанию нажмите предотвращены» для вновь созданного DIV, так что это будет что-то вроде <div>default click prevented</div>

.appendTo('#log'); добавит цельный выше дел до #log элемента, т.е. если вы считаете, ваши #log элементов, как <div id="log"></div>, его тогда станет

<div id="log"> 

    <div>default click prevented</div> 

</div> 
+0

Понял, большое спасибо –

1

Это ярлык для создания div-элемента, который содержит текст вашего оператора append(). Этот DIV будет добавлен к вашему элементу #log. Другой пример для понимания:

$('<div />').html('This is a simple text-string').appendTo('body'); 

Длинная форма будет/может быть:

$('<div>After this point comes a new string:<br /></div>').html('This is a simple text-string').appendTo('body'); 
2
$('div').append('...') 

Здесь «DIV» селектор будет искать все DIVs уже в DOM и присоединять сотрудничества к ним.

$('<div/>').append('...') 

Здесь мы создаем новый элемент DIV, завернутый в объект jquery, и добавляем к нему контент. Это то же самое, что и: $('<div>').append('...') или $('<div></div>').append('...') просто изменение синтаксиса.

Вам еще нужно добавить в DOM новый созданный элемент. Обычно, вы можете использовать метод .appendTo(elementInDOM).

1

Первый

event означает не только нажимать, это может быть любое событие, как KeyUp, KeyDown, при наведении курсора мыши, отведении указателя мыши,

Кроме того, если хотите получить значение из щелкнутыми случае используйте $(this)

Список всех Events

Второй

$('div').append('text'); 

добавит текст to the Selecter $('div') и здесь, в вашем вопросе вы создаете DIV затем добавляет некоторый текст в нем, который показывает линию

$('<div/>').append('default ' + event.type + ' prevented') 

, который затем appended к #log