<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %><!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 runat="server">
<title>Untitled Page</title>
<script type="text/javascript" language="javascript">
function showMe(){
alert("I was common javascript!");
}
</script>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<script language="javascript" type="text/javascript">
var myLabel = null;
Sys.Application.add_load(page_load);
function page_load(sendere,e){
alert("page load!");
myLabel = $get("myLabel");
$addHandler(myLabel,"onclick",onclickMe);
}
function onclickMe(){
alert("I am aspnet Ajax Libary!");
}
</script>
<div>
<label id="myLabel">click me!</label>
<br />
<label id="CommonJs" onclick="showMe()">click me (common javascript) </label>
</div>
</form>
</body>
</html>
page_load方法中的alert("page load!")能显示,能表明asp.net ajax libary加载成功;
普通的JavaScript调用onclick事件也能成功;
但就是通过 $addHandler(myLabel,"onclick",onclickMe) 调用不能成功!
也不报异常,就是点击时没反应,郁闷啊!
$addHandler(myLabel,"onclick",onclickMe);完都完了,不能用onclick,只能用click,这是为什么呢?
这个是啥意思啊
Sys.UI.DomEvent.addHandlers(element,events,handlerOwner) 为element添加一系列事件的处理函数。
events参数是一个事件处理函数的字典对象,
handlerOwner参数可选,若指定了该参数,
那么事件处理函数中的this将指向handlerOwner;
add_click: function(handler)
{
this.get_events().addHandler('click', handler);
},
这个方法是不是微软的ajax才有的啊?
scriptmanager???
应该这样写:
$addHandler(myLabel,{click:onclickMe});