2015-04-10 5 views
0

Я работаю с галереей изображений. когда я нажимаю на фотографию, я бы ничего не хотел. Я использовал этот код, чтобы достигнуть этого >>>jQuery - preventDefault перестает работать после добавления кода

$('#imageGallery a').click(function(event){ 
event.preventDefault();  }); 

, но вдруг, если я добавляю эту верхнюю строчку ....

var $overlay = $("<div id = "overlay"></div>"); 

$('#imageGallery a').click(function(event){ 
    event.preventDefault();  
    }); 

... Мой код больше не работает и фото, которое я нажимаю, переходит на другую страницу. Есть ли что-то, чего я не делаю, или это может быть проблема с браузером?

+3

Вам нужно использовать одинарные кавычки внутри двойных кавычек: 'var $ overlay = $ ("

");' – Blazemonger

+0

Попробуйте использовать один из шаблонов в моем ответе, чтобы избежать подобных опечаток в будущем. Надеюсь, это вам помогло. – Drakes

ответ

3

Лучше разрешить jQuery создавать HTML-элементы для вас. У вас были опечатки в том, что вы пробовали, что привело к искажению кода. Вот некоторые методы создания элемента, которые находятся в порядке убывания предрасположенности человек-ошибки:

Попытка с помощью

var $overlay = $("<div id = 'overlay'></div>"); 

или

var $overlay = $("<div id = \"overlay\"></div>"); 

или

var $overlay = $("<div/>", {id: "overlay"}); 

или

var $overlay = $('<div/>').attr("id", "overlay"); 

для создания новых элементов в будущем.

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