未捕获的TypeError:对象[object Object]没有方法'on'

时间:2013-06-25 03:26:11

标签: jquery twitter-bootstrap

我创建了一个函数appendScript,它将在按钮单击事件上调用,我的函数代码是

function appendScript()
{var v_js;
var head= document.getElementsByTagName('head')[0];
      v_js = document.createElement('script');
    v_js.type = 'text/javascript';
v_js.src = 'https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js';
    head.appendChild(v_js);
var body = document.getElementsByTagName('body')[0];
v_js =document.createElement('script');
v_js.type="text/javascript" ;
v_js.src = "//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/2.3.2/js/bootstrap.min.js";

body.appendChild(v_js);
var v_css= document.createElement('link');
v_css.rel= "stylesheet";
v_css.type = "text/css" ;
v_css.href="http://twitter.github.io/bootstrap/1.4.0/bootstrap.min.css"
body.appendChild(v_css);
}

当我点击按钮时出现错误

Uncaught TypeError: Object [object Object] has no method 'on' bootstrap.min.js:6
(anonymous function) bootstrap.min.js:6
(anonymous function)

任何人都可以帮忙解决这个错误吗?

1 个答案:

答案 0 :(得分:8)

您的JQuery版本(1.5.2)和Bootstrap(2.3.2)不兼容。升级您的Jquery版本。 Bootstrap正在寻找您的版本(1.5.2)中没有的on().on()可从jquery的1.7+版本获得。因此,请尽量将其升级到最新版本。

当您下载最新版本的 boostrap(2.3.2) 时,它会为您提供1.9.1版本的jquery以及该软件包,因此您可能需要尝试至少升级到该版本以确保一切都按预期工作。