jquery中的.on在外部js文件,是不是会失效?

JavaScript023

jquery中的.on在外部js文件,是不是会失效?,第1张

放在外部文件与放在里面都差不多,都会有效果,但要注意:

你的js文件要放在jquery文件之后引用

要在jQuery.ready后再调用$("#changePwd").on('click', function(){...,不然有可能对象都还没创建就调用自然没效果

html页面设置onClick事件可以在html中设置,也可以在js中设置,下面分别介绍。

在html中设置

你的代码就是在html中设置的方法,这是测试页面,

现在html代码的元素中添加onclick

<input type="text" id="text" onClick="f()">

再在js代码中声明一个函数

function f(){

alert(1)

}

只在js中设置

第二种方法是只在js中设置,这是测试页面

html代码可以更加纯粹,不用写onclick

<input type="text" id="text">

在js代码中,先找到这个元素,再去绑定一个事件

window.onload  = function() {

document.getElementById("text").onclick = function() {

alert(1)

}

}

也可以实现这个效果

查阅资料,发现并未出现有 septo.js 的文件,故猜测,这里应该是提问者手误将 zepto.js 打成了 septo.js 因此这里针对 zepto.js 中的 on 方法进行说明:

实例:

向 <p>元素添加 click 事件处理程序:

$("p").on("click",function(){

alert("The paragraph was clicked.")

})

on() 方法在被选元素及子元素上添加一个或多个事件处理程序。

自 jQuery 版本 1.7 起,on() 方法是 bind()、live() 和 delegate() 方法的新的替代品。该方法给 API 带来很多便利,我们推荐使用该方法,它简化了 jQuery 代码库。

注意:使用 on() 方法添加的事件处理程序适用于当前及未来的元素(比如由脚本创建的新元素)。

提示:如需移除事件处理程序,请使用 off() 方法。

提示:如需添加只运行一次的事件然后移除,请使用 one() 方法。