white-space: nowrap
и в момент рендера брать ширину этого элемента через offsetWidth и ставить её окну. var insertValues = function (string, values) {
var counter = 0;
return string.replace(/\[name(\$|\d+)\]/g, function (match, index) {
if (index === '$') {
return values[counter++];
}
return values[index - 1];
});
}
var string = 'text text [name$] [name$] text text [name8] text [name$] text text text text',
values = ['VALUE_1', 'VALUE_2', 'VALUE_3', 'VALUE_4', 'VALUE_5', 'VALUE_6', 'VALUE_7', 'VALUE_8', 'VALUE_9', 'VALUE_10'];
console.log(insertValues(string, values));
$('body').html(result);
это подразумевает полное пересоздание практически всех элементов на странице, а не просто замену текста внутри них. Это может вызвать ощутимые проблемы. $('.slider').on('slideChange', function (slideIndex) {
$('.video').each(function (videoIndex) {
var player = $(this).data('player');
if (slideIndex === videoIndex) {
player.playVideo();
} else {
player.pauseVideo();
}
});
});
document.addEventListener("click", function(event) {
if (!$(event.target).closest("#element").length) {
// ...
}
}, true);
if (!Element.prototype.matches) {
Element.prototype.matches =
Element.prototype.matchesSelector ||
Element.prototype.webkitMatchesSelector ||
Element.prototype.mozMatchesSelector ||
Element.prototype.msMatchesSelector;
}
Element.prototype.closest = function(selector) {
var target = this;
while (target && target != document) {
if (target.matches(selector)) {
return target;
}
target = target.parentNode;
}
return null;
};
document.addEventListener("click", function(event) {
if (!event.target.closest("#element")) {
// ...
}
}, true);
var permissionsAndDOM = $.Deferred();
$.get("url", function(access) {
$(function() {
permissionsAndDOM.resolve(access);
});
});
permissionsAndDOM.done(function(access) {
if (access.read) {
} else {
}
});
function bind(elem, event, handler) {
var events = elem.__events__ || (elem.__events__ = {}),
currentEvent = events[event] || (events[event] = []);
elem.addEventListener(event, handler);
currentEvent.push(handler);
}
function cloneWithEvents(elem) {
var clone = elem.cloneNode(),
originalEvents = elem.__events__;
if (originalEvents) {
for (var eventName in originalEvents) {
if (originalEvents.hasOwnProperty(eventName)) {
var currentEvent = originalEvents[eventName];
for (var i = 0, l = currentEvent.length; i < l; i++) {
clone.addEventListener(eventName, currentEvent[i]);
}
}
}
}
return clone;
}
create({}, function() {
object.emit("create");
// В триггеры подобных событий, к тому же, лучше передавать
// дополнительные аргументы, чтобы можно было отличить,
// что именно создано когда это потребуется
});
update({}, function() {
object.emit("update");
});
object.on("create update", onProcessedData);
ul.checkout-bar.wide li.last:after {
width: 110%;
}