$(".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()
}
}
可以用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>'
//...
}
javascript点击图片实现链接到其他页面需要新建一个html文件,命名为test.html,用于讲解jquery如何实现点击图片后跳转到另外一个页面。在test.html文件内,引入jquery.min.js库文件,成功加载该文件,才能使用jquery中的方法。在test.html文件内,创建一个div模块,在div内,使用img标签创建一张图片,图片地址为images文件夹下面的1.jpg图片。在test.html文件内,设置img标签的id属性,下面将通过此id来绑定点击事件,例如,设置img标签的id属性为myimg。在test.html文件内,在js标签中,通过img标签的id获得对象,给该对象绑定click点击事件,当图片被点击时,执行function内的代码。在function方法体内,使用location.href来实现跳转至另一个页面,例如,这里设置跳转至百度网站。在浏览器打开test.html文件,点击图片,查看实现的效果。百度经验