
1.作为html元素的属性:
<a onclick="alert(123)" id="link">dada</a>2.作为js对象的属性:
var a = document.getElementById("link")a.onclick = function(){}
3.给js对象绑定方法:
a.addEventListener('click',function(){})三种方法分析:
方法一:
1.作为元素的属性,那么就把行为和结构捆绑在一起了,违背了行为和结构分离的特点,所以不推荐。
2.作为元素的属性时,属性名应该是“on”+事件名称(点击事件:onclick)。
3.属性值是javascript代码字符串,是函数的主体,而非函数声明。(注意:在js对象属性中,赋值给属性的是函数名fun,这里赋值的是函数调用fun())
方法二:
如果是作为js对象的属性,那么一次只能给一个元素绑定一个事件,如果绑定了多个事件,默认执行最后一次。
var box = document.getElementById('box')box.onclick = dada//不执行
box.onclick = dada2//不执行
box.onclick = dada3//执行dada3
function dada(){
alert("dada")
}
function dada2(){
alert("dada2")
}
function dada3(){
alert("dada3")
}
方法三:
如果是给js对象绑定了方法addEventListener,那么可以加多个事件,并且多个事件都会执行。但是这个方法有兼容性问题,在ie8以及以下用:attachEvent。
var box2 = document.getElementById('box2')box2.addEventListener('click',dada,false)//dada
box2.addEventListener('click',dada2,false)//dada2
box2.addEventListener('click',dada3,false)//dada3
function dada(){
alert("dada")
}
function dada2(){
alert("dada2")
}
function dada3(){
alert("dada3")
}
具体的细节你可以自己再看一下,同时现在很多框架设计的事件相应比较完善,不存在兼容性和其他一些问题,可以参考jquery的事件绑定方法:a.bind("click",function(){})
可以执行error函数啊 我试过了 是不是你代码写错了$.ajax({
type: "POST",
url: "/HandlerUsers.ashx", //一般处理程序路径
data: {"name":‘值’,"phone":‘值’}, //参数格式({"value1":'值1',"value2":'值2'})
success: function (msg) {
//成功后执行
},
error: function(){
//ajax代码错误
}
}
你看看你的哪里写错了没
一般处理程序里:
string name = context.Request.Form["name"] ?? ""
string phone = context.Request.Form["phone"] ?? ""
这样获取参数,
找一下存不存在 HUBH.Application.Admin.Handler 这个类型把,可以把这个类型在后台cs文件里写出来看可不可以找到对应的类型。我自己写ashx的时候还真没遇到过这个。。。欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)