Я хотел бы реализовать решение, как этотОбработка кликов за пределами элемента без JQuery
How do I detect a click outside an element?
но я использую другую библиотеку JavaScript с $() функция уже определена
Есть предложения?
Я хотел бы реализовать решение, как этотОбработка кликов за пределами элемента без JQuery
How do I detect a click outside an element?
но я использую другую библиотеку JavaScript с $() функция уже определена
Есть предложения?
Это легко сделать. Было бы стыдно загружать библиотеку jQuery только для одной функции.
Если в другой библиотеке, которую вы используете, используется привязка событий, вы можете сделать то же самое в этой библиотеке. Так как вы не указали, что это другая библиотека, вот родное решение:
Пример:http://jsfiddle.net/patrick_dw/wWkJR/1/
window.onload = function() {
// For clicks inside the element
document.getElementById('myElement').onclick = function(e) {
// Make sure the event doesn't bubble from your element
if (e) { e.stopPropagation(); }
else { window.event.cancelBubble = true; }
// Place the code for this element here
alert('this was a click inside');
};
// For clicks elsewhere on the page
document.onclick = function() {
alert('this was a click outside');
};
};
Если $
конфликт ваш только держать вверх, есть способы вокруг этого: http://docs.jquery.com/Using_jQuery_with_Other_Libraries
Я также добавить сюда код, который останавливает событие бурлит. Найдено по quircksmode.org
function doSomething(e) {
if (!e) var e = window.event
// handle event
e.cancelBubble = true;
if (e.stopPropagation) e.stopPropagation();
}
Что такое другая библиотека? Почему бы вам просто не использовать это или не библиотечное решение. Я бы не загружал другую библиотеку только для одной функции. – user113716 2010-12-01 02:40:23
@patrick. Да, я загружаю jquery только для запуска функции «внешнего щелчка». Я не нашел никакого автономного кода в течение 20 минут с поисковой системы. На больших библиотечных решениях. – Dan 2010-12-01 21:04:34