У меня возникла странная проблема с моим хром-приложением, которое я сейчас разрабатываю. Я хочу использовать расширение "ручка", чтобы использовать его для слайдера будильника (чтобы установить время). Это было бы не очень сложно, не было бы ограничений и странных проблем при программировании хром приложение.
В моем файле index.html я включил библиотеку jquery и расширение кнопки. И тут начались проблемы. Так или иначе, мои скрипты могут использовать только Id элементов, которые над ними. Поэтому, когда я включаю теги между тегами, ничего не выполняется, если я помещаю их после первых тегов, они работают только с вещами, которые находятся в этом контейнере div. поэтому я поставил скрипт непосредственно перед тегом. Это хорошо работает для "нормального" удобства использования javascript. Но поскольку у меня есть функция, которая ссылается на функцию jquery (для ручки), библиотека jquery должна быть уже загружена до того, как функция будет выполнена (если нет, она просто не работает). Я попытался получить обходное решение, используя эти возможности:
document.onload=test();
function test(){
$(function() {
$(".dial").knob();
});
}
document.onload=test();
$(function test() {
$(".dial").knob();
});
}
document.onload=$(function() {
$(".dial").knob();
});
}
хорошо... Это не сработало. Я также попробовал window.onload, с тем же повторением. у кого-то есть решение? Это было бы очень полезно.
Благодарю вас, neissen
Попробуйте вот так:
$(function() { //document ready function
function test(){ //inside the ready function
$(".dial").knob();
}
test(); // and call the function here
});
Для внешних скриптов функции запускаются только локально, что означает, что глобальный объект, содержащий html, не будет доступен.
if ("undefined" === typeof jQuery) {throw new Error("This library requires jQuery"); }
$(function() {
window.myFunction = function() {
doSomething();
}
doSomething();
})
<script>
$(function() {
doSomething();
})
</script>
Выше - самый безопасный способ приблизиться к библиотеке jQuery. Функция $(function() {...
означает то же самое, что и $( document).ready(function() {...
, execute, если она загружена и готова, гарантирует, что браузер знает, как справляться со всеми используемыми функциями.