Javascript 使用RequireJS取消自定义引导绑定错误
我有一个用于引导工具提示的自定义敲除绑定,有时页面加载良好,有时在绑定中抛出此错误 $(…)。工具提示不是函数 我在发生这种情况的部分中设置了一个断点,有时候jquery对象上没有任何引导函数。我只能假设这是由require加载引导库的时间问题。正如我所说的,它并不是每次都发生,当我打开开发工具控制台时,它似乎会发生得更频繁 这是我的要求配置Javascript 使用RequireJS取消自定义引导绑定错误,javascript,jquery,twitter-bootstrap,knockout.js,requirejs,Javascript,Jquery,Twitter Bootstrap,Knockout.js,Requirejs,我有一个用于引导工具提示的自定义敲除绑定,有时页面加载良好,有时在绑定中抛出此错误 $(…)。工具提示不是函数 我在发生这种情况的部分中设置了一个断点,有时候jquery对象上没有任何引导函数。我只能假设这是由require加载引导库的时间问题。正如我所说的,它并不是每次都发生,当我打开开发工具控制台时,它似乎会发生得更频繁 这是我的要求配置 requirejs.config({ waitSeconds: 200, shim: { "bootstrap": {
requirejs.config({
waitSeconds: 200,
shim: {
"bootstrap": {
deps: ['jquery'],
exports: "$.fn.tooltip"
}
},
enforceDefine: true,
paths: {
jquery: 'jquery-1.11.3.min',
bootstrap: 'bootstrap.min',
moment: 'moment.min',
knockout: 'knockout.min',
appVM: 'appVM',
custombindings: 'custombindings'
}
});
还有我的装订
define(['knockout', 'jquery', 'bootstrap'], function (ko, $, bootstrap) {
ko.bindingHandlers.tooltip = {
init: function (element, valueAccessor) {
var local = ko.utils.unwrapObservable(valueAccessor()),
options = {};
ko.utils.extend(options, ko.bindingHandlers.tooltip.options);
ko.utils.extend(options, local);
$(element).tooltip(options); //Error thrown here
ko.utils.domNodeDisposal.addDisposeCallback(element, function () {
$(element).tooltip("destroy");
});
},
options: {
'container': 'body',
'delay': { 'show': 1000, 'hide': 100 },
'animation': 'true'
}
};
});
我的应用绑定
define(['jquery', 'bootstrap', 'appVM', 'knockout', 'domReady!'],
function(jquery, bootstrap, appVM, ko) {
var vm = new appVM();
ko.applyBindings(vm);
});
将您的
customBindings
添加到调用ko.applyBindings
define(['jquery', 'bootstrap', 'appVM', 'knockout', 'customBindings', 'domReady!'],
function(jquery, bootstrap, appVM, ko) {
var vm = new appVM();
ko.applyBindings(vm);
});
您是否有类似的define块,用于
applyBindings
?“你想确保所有东西都已加载。@RoyJ我编辑了我的问题。在应用绑定之前,我正在加载引导。您是否检查了元素
是否为DOM元素且不为null或未定义?