加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 创业 > 正文

一周学会Mootools 1.4中文教程:(3)变乱

发布时间:2018-10-06 02:52:01 所属栏目:创业 来源:站长网
导读:本日我們講解一下mt的变乱部门,对付变乱的讲授首要包括三部门,别离是:绑定,移除,和触发,我们起首来看一个例子 //jquery的变乱绑定方法 $('a').click(function){ alert('aa'); }); //或 $('a').bind('click,mouseover',function){ alert('aa'); }); //mt的事
副问题[/!--empirenews.page--] 本日我們講解一下mt的变乱部门,对付变乱的讲授首要包括三部门,别离是:绑定,移除,和触发,我们起首来看一个例子

//jquery的变乱绑定方法
$('a').click(function){
alert('aa');
});
//或
$('a').bind('click,mouseover',function){
alert('aa');
});

//mt的变乱绑定方法
$('a').addEvent('click',function){
alert('aa');
});

$('a').addEvents({
'click':function){
alert('aa');
},
'mouseenter':function){
alert('bb');
}
});

通过上边的例子我们可以看出,着实jq的变乱绑定方法和mt是很像的,虽然了由于mt不必要封装进function(){}内,以是我们还可以直接在节点上写变乱,如:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<script style="text/javascript" src="https://ajax.googleapis.com/ajax/libs/mootools/1.4.1/mootools-yui-compressed.js"></script>
</head>

<body>
<div id='a' onclick="aa(this,'b')">click</div>        
<script type='text/javascript'>

var aa=function(i,msg){
  alert(i.get('tag')+'|'+i.getProperty('id')+'|'+msg);
}
</script>

  在上边的例子中,我把工具自己转达了进来,即this,然后我就可以把它把他领略是已经选择了节点,像操纵节点那样去操纵他就行了.

  接下来我们首要讲授一下第一种方法,行使第一种方法的时辰必必要确保dom节点已经加载完毕,假如由于收集缘故起因导致节点还没有载入,此时绑定变乱是会失败的,以是我们可以用下边的要领来停止此题目:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<script style="text/javascript" src="https://ajax.googleapis.com/ajax/libs/mootools/1.4.1/mootools-yui-compressed.js"></script>
</head>

<body>
<div id='a' onclick="aa(this,'b')">click</div>
<script type='text/javascript'>
window.addEvent('domready',function(){
alert('先执行');
});
window.addEvent('load',function(){
alert('后执行');
});
</script>

  上边的例子中domready变乱会在onload之前被执行,这一点请留意,onload是在全部的dom节点载入完毕之后才执行,以是domready在dom节点载入完毕之前就已经执行了.必必要服膺的是,load在一个页面内只能呈现一次,而domready则可以多次行使.不然IE会不爽你.
  那么我们此刻要做的是当a载入完毕之后就给他绑定一个变乱,看下边的例子:

<body>
<a href='http://www.google.com' id='a'>click</a>
<script type='text/javascript'>
window.addEvent('load',function(){
var aa=function(event){
event.stop();
alert('aa1');
}
$('a').addEvent('click',aa);
});
</script>

<body>
<a href='http://www.google.com' id='a'>click</a>        
<script type='text/javascript'>
window.addEvent('load',function(){
    $('a').addEvent('click',function(event){
        event.stop();
        alert('aa1');
    });
});
</script>
假如你能确认a节点已经载入完成了,那么load变乱你可以省略,即:
<body>
<a href='http://www.google.com' id='a'>click</a>        
<script type='text/javascript'>
    $('a').addEvent('click',function(event){
        event.stop();
        alert(event.target);//工具自己,开拓插件很有效
        alert(event.relatedTarget);
        alert(event.key);//returns the lowercase letter pressed.
        alert(event.shift);//returns true if the key pressed is shift.
        alert('aa1');
    });
</script>

  上边的例子中,我为了防备a被超链接至google,以是我转达event参数,并用event.stop()来阻塞默认变乱.关于event参数的更多用法看下边的例子:

$('i7').addEvent('keypress',function(event){
alert(event.key);
alert('code:'+event.code);//按键的键盘代码
alert('shift:'+event.shift);
alert('control:'+event.control);
alert('alt:'+event.alt);
alert('meta:'+event.meta);

//Ctr+S 组合键
if(event.key == 's' && event.control){
alert('Document saved.');
}
});

 

那么怎样给一个工具绑定多个变乱呢,看下边的例子:

var fun1=function(){};
$('a').addEvents({
'mouseenter':fun1,
'mouseleave':function(){}
});

通过上边的例子我们就已经给a这个节点绑定了两个变乱,记得最后一个变乱后边不要加逗号,要否则IE会堕落.

变乱被绑定之后怎样移除呢?我们来看例子

var destroy=function(){alert('Boom:'+this.id);}
$('myElement').addEvent('click',destroy);
$('myElement').removeEvent('click',destroy);

下边是一个变乱触发的例子:

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读