return false;
~ e.preventDefault(); e.stopPropagation()
document.head.appendChild(document.createElement('style'));
var sheets = document.styleSheets,
sheet = sheets[sheets.length - 1];
sheet.insertRule('html{background:#369;}', sheet.cssRules.length);
/*А теперь можно проводить любые манипуляции*/
sheet.insertRule('p{font-size:2em;color:#fff;}', sheet.cssRules.length);
sheet.deleteRule(0);
sheet.insertRule('html{background:#69c;}', 0);
/*Или перебрать все правила в любом источнике, который соответствует политике происхождения*/
for (var i = 0; i < sheet.cssRules.length; i++) {
console.log(sheet.cssRules[i].selectorText);
}
(function() {
var lastTime = 0;
var vendors = ['ms', 'moz', 'webkit', 'o'];
for(var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) {
window.requestAnimationFrame = window[vendors[x]+'RequestAnimationFrame'];
window.cancelAnimationFrame = window[vendors[x]+'CancelAnimationFrame']
|| window[vendors[x]+'CancelRequestAnimationFrame'];
}
if (!window.requestAnimationFrame)
window.requestAnimationFrame = function(callback, element) {
var currTime = new Date().getTime();
var timeToCall = Math.max(0, 16 - (currTime - lastTime));
var id = window.setTimeout(function() { callback(currTime + timeToCall); },
timeToCall);
lastTime = currTime + timeToCall;
return id;
};
if (!window.cancelAnimationFrame)
window.cancelAnimationFrame = function(id) {
clearTimeout(id);
};
}());
$.ajax({
url: '//api.vk.com/method/database.getCountries',
data: {
need_all: 1,
count: 300
},
dataType: 'jsonp'
})
.done(function(data) {
console.log(data);
});
$.ajax({
url: 'http://api.flickr.com/services/feeds/photos_public.gne',
dataType: 'jsonp',
jsonp: 'jsoncallback',
data: {
tags: 'mount rainier',
tagmode: 'any',
format: 'json'
}
}).done(function (data) {
console.log(data);
});
Вид и компонент довольно похожи друг на друга (по правде сказать вид это родительский класс компонента). Вид и компонент оба имеют свой собственный шаблон. За видом и компонентом находится свой собственный объект. Разница заключается в двух ключевых моментах. Во первых обработка событий — компонент сам обрабатывает именные события а вид просто напросто отдает их родительскому шаблону который в свою очередь отдает их контроллеру. Во вторых окружение — компонент полностью изолирован и может работать только с объектами которые вы ему отдадите; вид в свою очередь имеет доступ ко всем объектам доступным родительскому шаблону. С точки зрения контекста родительского шаблона вид имеет доступ к модели и контроллеру но имеет свой собственный вид. Компонент более изолированный и не имеет доступ ни к чему.