Zepto Ajax 动态生成的元素怎样加载样式及绑定事件

Zepto Ajax 动态生成的元素怎样加载样式及绑定事件,第1张

jquery中绑定事件一般使用bind,或者click,但是这只能是对已经加载好的元素定义事件,那些后来添加插入的元素则需要另行绑定。在1.7版本以前使用live。但是在1.8版本以后推荐使用on。这里介绍jQuery中如何给动态添加的元素绑定事件

在实际开发中会遇到要给动态生成的html元素绑定触发事件的情况

例如<div id="testdiv">

<ul></ul>

</div>

需要给<ul>里面动态添加的<li>标签添加click事件

jquery 1.7版以前使用live动态绑定事件

$("#testdiv ul li").live("click",function(){

})

点击事件只能设置在html元素中,所以background是没有办法设置点击的。但是,它的元素div是有点击事件onclick的。如果div设置onclick无效,建议使用jquery来绑定div的click事件。

此外,由于div中还有其它元素有click事件,所以,这就涉及到了事件冒泡的问题。

那么,说到这,指出你的一个代码问题。网页中,html元素的id必须是唯一的。如果id不唯一,一代涉及id,程序可能会出错。而class才是可以重复的。

可以如下纠正:

<input type="submit" name="button" id="btn_searc" value=" " class="button">

<input type="button" name="button" id="btn_ask" value=" " class="button" >

下面就是解决事件冒泡问题了,还是建议jquery来解决

对于div的内层元素,我们使用jquery来绑定它的单击事件,并且静止响应div的单击事件

$('#btn_searc').blind('click',function(event){

searchPost() //这里响应id为btn_searc元素的单击事件

event.stopPropagation() //这局话就是停止事件冒泡了,也就是说,接下来的div的单击事件将不再会被响应。

})

同理,另外一个原色的单击事件可以如下

$('#btn_ask').blind('click',function(event){

ask()

event.stopPropagation()

})

那么,接下来就是去绑定div的单击事件,首先,还是将div的class改成id,并保证其唯一性。同时,css也要改成id的选择器:

#communion_header{

height: 88px

width: 690px

margin: 0 auto

background: url(../../images/communicate/communtion_logo.png) no-repeat 50px 30px

padding: 40px 0 0 270px

}

jquery绑定click

$('#communion_header').click(function(){

//这里写div的单击代码。可以使用JavaScript,更可以使用其进阶语言jQuery

})

最后,需要说明的是,代码使用的是JavaScript语言的一种进阶语言jQuery。它的使用要借助于jQuery库的存在。所以你必须去下载个jquery.js,并且在网页中添加关联。

第一种方法:在HTML元素当中绑定事件

<div class="wrap" onclick="show()">绑定事件一</div>

<script type="text/javascript">

    function show() {

        alert('绑定事件一')

    }

</script>

第二种方法:

<div class="wrap" id="btn">绑定事件一</div>

<script type="text/javascript">

    var btnEle = document.querySelector('#btn')

    btnEle.onclick = show

    function show() {

        alert('绑定事件一')

    }

</script>

参考资料:《JavaScript事件 详细讲解》

第三种方法:

<div class="wrap" id="btn">绑定事件一</div>

<script type="text/javascript">

    var btnEle = document.querySelector('#btn')

    btnEle.addEventListener('click', show, !1)

    function show() {

        alert('绑定事件一')

    }

</script>

参考资料:《说说JavaScript的事件绑定方法并举例》


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存