首页 新闻 会员 周边 捐助

asp.net调用jquery问题

0
[已解决问题] 解决于 2014-04-04 10:21

大家好,我一直是做cs的,最近想学bs,在asp.net中调用jquery的时候为什么jquery里的方法没有执行。代码如下

jquery代码:

function showMsg(event) {
alert('aa');
}
$(function () {
document.getElementById("div2").onclick = showMsg;
});

asp.net代码:

<asp:Button ID="div1" runat="server" Text="div1" OnClientClick="showMsg()" />
<asp:Button ID="div2" runat="server" Text="div2"></asp:Button>

 

运行这个窗体的是好,点击div1按钮 客户端事件里没有弹出aa提示框

div2按钮也没触发

吴伟伟的主页 吴伟伟 | 菜鸟二级 | 园豆:202
提问于:2014-04-03 14:34
< >
分享
最佳答案
0

看下客户端生成的HTML控件的ID是否还是div1,另外,既然都用jquery了,就索性jquery到底

$("#div1").click(function(){

alert('aa');

})

奖励园豆:5
ludi | 初学一级 |园豆:5 | 2014-04-03 17:07

不会调用

吴伟伟 | 园豆:202 (菜鸟二级) | 2014-04-04 09:31

   <asp:Button ID="div1" runat="server" Text="div1" OnClientClick=" $('#div1').click(function () {     alert('aa'); })" />

 这样可以,但是如果我想在<script>这个标签里写 就不会写了

 

吴伟伟 | 园豆:202 (菜鸟二级) | 2014-04-04 09:38

@吴伟伟: $("#div1").click 已经自己绑定了,不用调用,你只需要把那段代码放到$(function(){})就可以了,

$(function(){

$("#div1").click(function(){

alert('aa');

})

})

ludi | 园豆:5 (初学一级) | 2014-04-04 09:40

@ludi: 谢谢

吴伟伟 | 园豆:202 (菜鸟二级) | 2014-04-04 10:19
其他回答(8)
0

浏览器上按F12就能看到原因了

吴瑞祥 | 园豆:29449 (高人七级) | 2014-04-03 14:38

没用

支持(0) 反对(0) 吴伟伟 | 园豆:202 (菜鸟二级) | 2014-04-03 14:53
0

肯能问题出现在根源上。先看看是否引用了js文件,其次再看看是否写在了script标签中。

lucika.zh | 园豆:54 (初学一级) | 2014-04-03 14:55

 恩写了的 <script type="text/javascript" src="scripts/jquery-1.4.1-vsdoc.js"> 这个是写在<title>下面 

支持(0) 反对(0) 吴伟伟 | 园豆:202 (菜鸟二级) | 2014-04-04 09:31

@吴伟伟: 这个文件是jquery智能提示。

试试增加<script type=text/javascript>

alert($)</script>

支持(0) 反对(0) lucika.zh | 园豆:54 (初学一级) | 2014-04-04 10:07
0

no,是因為你使用了模板,button的id就變了,注意你的id是服務器的id,會解析成其他的id的

清风君 | 园豆:372 (菜鸟二级) | 2014-04-03 15:51
0

做b/s这一块,要善用开发人员,就是f12,通过调试代码找出问题所在,一楼和二楼说的都很好,div1按钮没触发的,估计你没写<script>标签,至于第二种由于服务端控件,页面生成的时候,id就可能不是div2了,要搞清楚那个是html标签和asp.net服务端控件

秋壶冰月 | 园豆:5903 (大侠五级) | 2014-04-03 15:55
0

你不要加 runat="server" 这个在按钮上, 也就是说你用一般的HTML按钮 试试!

Albert Fei | 园豆:2102 (老鸟四级) | 2014-04-03 15:59

 我就是想要asp.net控件调用jquery,html可以调用的

支持(0) 反对(0) 吴伟伟 | 园豆:202 (菜鸟二级) | 2014-04-04 09:26

@吴伟伟: 主要是你用了服务器的控件,当你点击按钮时,它就回传,所以没有调用你的$(function () {
document.getElementById("div2").onclick = showMsg;
});

支持(0) 反对(0) Albert Fei | 园豆:2102 (老鸟四级) | 2014-04-08 16:51
0

ClientIDMode="Static"时控件的客户端ID不会发生变化;

咲丶 | 园豆:58 (初学一级) | 2014-04-03 17:15

function showMsg() {
alert('aa');
}

试下,div1和div2都可以弹出 

支持(0) 反对(0) 名字什么都是浮云 | 园豆:327 (菜鸟二级) | 2014-04-04 08:58

不懂

支持(0) 反对(0) 吴伟伟 | 园豆:202 (菜鸟二级) | 2014-04-04 09:26
0

function showMsg(event) {
alert('aa');
}

试下,div1和div2都可以弹出

名字什么都是浮云 | 园豆:327 (菜鸟二级) | 2014-04-04 08:57

弹不出来的

支持(0) 反对(0) 吴伟伟 | 园豆:202 (菜鸟二级) | 2014-04-04 09:32
0

<asp:Button ID="div1" runat="server" Text="div1" OnClientClick="showMsg()" /> 服务器控件 还有你的写的方法 有参数 为什么没传递个参数?

如果根据id找到button的话 得使用document.getElementById("<%div2.ClientId%>")

wolfy | 园豆:2636 (老鸟四级) | 2014-04-04 09:44

怎么传参数

支持(0) 反对(0) 吴伟伟 | 园豆:202 (菜鸟二级) | 2014-04-04 09:49
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册