js如何为动态添加进来的a超级链接元素添加click事件函数

js如何为动态添加进来的a超级链接元素添加click事件函数,第1张

这个很简单 如果楼主有jq只需要

$(document).on("click","a",function(){

alert("我是被监听的a标签")

})

如果楼主没有引入jq 那么下面给楼主写一份原生js监听

<!DOCTYPE html>

<html>

<head>

<title></title>

</head>

<body>

<script type="text/javascript">

//添加事件可以使用addEventListener 或者 attachEvent下面使用传统事件添加 

document.onclick=function(){

var e=null

if(window.event){

e=window.event

}else if(event){

e=event

}else{

e=arguments.callee.argument[0]

}

//获取事件目标

var target=null

if(e.target){

target=e.target

}else{

target=e.srcElement

}

if(target.nodeName.toUpperCase()=="A"){

alert("我是被监听的A标签")

}

}

var a=document.createElement("a")

a.innerHTML="我想被监听"

document.body.appendChild(a)

</script>

</body>

</html>

这是一个a标签其id是aa

<a id ="aa" href="http://localhost:8098/MybatisAndSpringMvc/user/save.action">save</a>

然后通过jquery的方法添加触发事件

$("#aa").click(

function(){}

)

可以用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>'

//...

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/7906400.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存