function clickOutside (el) {
$(document).on('click', function(event) {
event.stopPropagation();
if ($(event.target).is(el)) return;
console.log('Клик мимо меня');
});
}
upd:
function clickOutside (selector) {
document.addEventListener('click', function (event) {
event.stopPropagation();
var el = document.querySelector(selector);
if (event.target === el) return;
console.log('Не попал =)');
});
}
upd:
function findParentBySelector(elm, selector) {
var all = document.querySelectorAll(selector);
var cur = elm.parentNode;
while(cur && !collectionHas(all, cur)) {
cur = cur.parentNode;
}
return cur;
}
function clickOutside (selector) {
document.addEventListener('click', function (event) {
event.stopPropagation();
var el = document.querySelector(selector);
if (event.target == el) return;
// Проверка на то что это дочерний элемент
if (event.target == findParentBySelector(selector)) return;
console.log('Не попал =)');
});
}
%placeholder {
font-weight: bold;
}
a%placeholder {
text-decoration: none;
}
.item {
@extend %placeholder
}
.item {
font-weight: bold;
}
a.item {
text-decoration: none;
}
.placeholder {
font-weight: bold;
}
a.placeholder {
text-decoration: none;
}
.item {
@extend .placeholder
}
.placeholder, .item {
font-weight: bold;
}
a.placeholder, a.item {
text-decoration: none;
}
$('input').on('change', function(){
$('.btn-warning').html('hello world')
})
<span class="price" data-default-currency-value="100">100 USD</span>
<span class="price" data-default-currency-value="500">500 USD</span>
<button class="recalculate" data-currency="EUR">Recalculate in EUR</button>
<button class="recalculate" data-currency="RUB">Recalculate in RUB</button>
var currencyCoefficients = {
EUR: 1.1,
RUB: 65
};
$('.recalculate').on('click', function() {
var currency = $(this).data('currency');
$('.price').each(function() {
var value = $(this).data('default-currency-value');
var recalculatedValue = Math.ceil(value*currencyCoefficients[currency]);
$(this).html(recalculatedValue + ' ' + currency);
});
});
.scroll_block::-webkit-scrollbar-thumb {
border: 2px solid white;
background-color: #ccc;
}
.scroll_block::-webkit-scrollbar {
-webkit-appearance: none;
}
.scroll_block::-webkit-scrollbar:horizontal {
height: 13px;
}
.scroll_block::-webkit-scrollbar-thumb {
border-radius: 6px;
border: 2px solid white;
background-color: rgba(0, 0, 0, .5);
}
var $li = $list.find('li:eq(0)');
var h = $li.height();
var top = +$list.css('top');
if(top < -2 * h) { //если список поднялся больше чем на 2 высоты 1 элемента
$li.remove().appendTo($list); //перемещаем элемент в конец списка
$list.css('top', (top + h) + 'px'); //опускаем список на высоту элемента,
//так как мы его убрали вначале
}