为什么js或jq给a元素绑定的点击事件没有点击就自动执行?

JavaScript017

为什么js或jq给a元素绑定的点击事件没有点击就自动执行?,第1张

$(".a").click(function(){console.log("111")}) 这个应该不会自动执行,你可能看错了。另外,如果你是想给所有a标签绑定事件,那应该是$("a")而不是$(".a")。

document.getElementsByTagName("a").onclick=alert() 这个则肯定会自动执行,因为等号后面是个立即执行语句。另外getElementsByTagName返回的是个对象集合,不能直接绑定onclick事件。应该这样:

document.getElementsByTagName("a")[0].onclick=function(){

alert()

}

或者如果你想给所有a标签绑定事件,则应该这样:

let aobj=document.getElementsByTagName("a")

for(let i in aobj){

aobj[i].onclick=function(){

alert()

}

}

使用onclick()点击事件触发。

1、设计一个功能页面,HTML代码如下。

2、此时的页面展示效果如下。

3、设计功能函数,实现上图中赋值的功能。

4、给按钮绑定上述函数,点击实现。

5、在页面上点击函数,查看执行效果。

扩展资料:

onclick事件解析:

1、定义和用法:onclick 属性由元素上的鼠标点击触发。

onclick 属性不适用以下元素:<base>、<bdo>、<br>、<head>、<html>、<iframe>、<meta>、<param>、<script>、<style>或 <title>。

2、语法:

<element onclick="script">。

参考资料:

百度百科--onclick

可以用js的事件委托啊。

比如你的分页生成的代码会插入到一个<div id="pager"></div>里,在生成html片段时为a设置一个属性用来表示页数,如:<a href="#" data-page="1">第1页</a>

事件委托的js代码如下:

$('#pager').delegate('a', 'click', function(e){

e.preventDefault() //阻止a的默认事件

var page = $(this).data('page') //从当前a标签属性中取出页码

//处理分页,如果是跳转:

location.href = "/pagename.php?page=" + page

//如果是异步取分页数据:

var page_api = '/pagedata.php?page=' + page

$.get(page_api, function(data, textStatus, jqXHR){

//使用ajax获取数据

//拼装数据并填充到数据显示区:

$('#list-container').append( createHTML(data) )

//重新生成分页区

createPager( page )

})

})

function createHTML(data){

//拼装数据的函数

}

function createPager(curPage){

//生成分页的函数

var tpl = '<a href="#" data-page="{#index}">第{#index}页</a>'

//...

}