js中click事件的问题,高手求破。

pxchi 2011-09-25 04:56:46
html代码里有一个click时间控制显示div ,div里面有一个button。
把代码简化如下。


<a href="#game" onclick="click1()"><img /></a>
<div> <input type="button" id="button1" /> </div>



在js代码简化如下

function click1() {
//button1 click事件。
$("#button1").click(function () {
alert("button1 click demo");
});
}


可是当我点了<a>标签n次后,然后点一次button,alert也就弹出n次。
断点发现,click里面执行了n次。
求解决方法。
...全文
586 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
休谱诺斯 2011-09-27
  • 打赏
  • 举报
回复
在绑定方法的外面给个boolean值开始为true,在函数外面判断下这个值是true时进入$("#button1").click(function () {赋值为false})这样就好了
峭沙 2011-09-26
  • 打赏
  • 举报
回复
function click1() {
//button1 click事件。
$("#button1").trigger('click');
}
$("#button1").click(function () {
alert("button1 click demo");
});

还有,我忍不住想说一句,为什么老喜欢这样写:<a href="#game" onclick="click1()"></a>?
<a href="#game"></a>
$('a').click(click1);看起来不是更清爽吗。。
pxchi 2011-09-26
  • 打赏
  • 举报
回复
如果有多个a标签都有click事件,个人比较喜欢用id来区分找到元素。

你的方法实现我要的效果还是有点困难啊。


[Quote=引用 10 楼 axiheyhey 的回复:]

JScript code
function click1() {
//button1 click事件。
$("#button1").trigger('click');
}
$("#button1").click(function () {
alert("button1 click demo");
});

还有,我忍不住想说一句,为什么老喜欢这样写:<a href="……
[/Quote]
NXBPM 2011-09-25
  • 打赏
  • 举报
回复
$("#button1").click(function () {
alert("button1 click demo");
});
function click1() {
//button1 click事件。
$("#button1").click();
}





[Quote=引用楼主 pxchi 的回复:]
html代码里有一个click时间控制显示div ,div里面有一个button。
把代码简化如下。

HTML code



<a href="#game" onclick="click1()"><img /></a>
<div> <input type="button" id="button1" /> </div>




在js代码简化如下

JScript ……
[/Quote]
pxchi 2011-09-25
  • 打赏
  • 举报
回复
谢谢你,这样可以了,不过还想知道怎么判断是否已绑定上click事件,有没有什么好方法啊。


[Quote=引用 7 楼 mabao669 的回复:]

JScript code

function click1() {
//先取消 button1 click事件。
$("#button1").unbind('click');
//button1 click事件。
$("#button1").click(function () {
alert("button1 click demo");
……
[/Quote]
求摸小手 2011-09-25
  • 打赏
  • 举报
回复

function click1() {
//先取消 button1 click事件。
$("#button1").unbind('click');
//button1 click事件。
$("#button1").click(function () {
alert("button1 click demo");
});
}
pxchi 2011-09-25
  • 打赏
  • 举报
回复
因为a标签的事件里还要写其他代码。 那问一下怎么判断有没有click事件?

另外一个帖子是因为,一不小心,帖子发了两遍。


[Quote=引用 5 楼 fanchuanzhidu 的回复:]

引用 4 楼 pxchi 的回复:

如果click1 先点击了n下,那么点击一下button就alert N下。

引用 2 楼 blue_lg 的回复:

这个,本来就是,你点击一下,alert()一下。。

你就直接在标签里写事件就是了 干嘛非要点击a标签才给按钮加事件
如果非要这样 那就判断button有没有onclick事件 没有的话加 否则 就不加了
[/Quote]
豆虫 2011-09-25
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 pxchi 的回复:]

如果click1 先点击了n下,那么点击一下button就alert N下。

引用 2 楼 blue_lg 的回复:

这个,本来就是,你点击一下,alert()一下。。
[/Quote]
你就直接在标签里写事件就是了 干嘛非要点击a标签才给按钮加事件
如果非要这样 那就判断button有没有onclick事件 没有的话加 否则 就不加了
pxchi 2011-09-25
  • 打赏
  • 举报
回复
如果click1 先点击了n下,那么点击一下button就alert N下。

[Quote=引用 2 楼 blue_lg 的回复:]

这个,本来就是,你点击一下,alert()一下。。
[/Quote]
BLUE_LG 2011-09-25
  • 打赏
  • 举报
回复
这个,本来就是,你点击一下,alert()一下。。
pxchi 2011-09-25
  • 打赏
  • 举报
回复
是的 我大概知道也是这儿原因,但是怎么解决。怎么能判断不是第一次点击然后阻止它,或者有什么其他解决办法啊。

[Quote=引用 1 楼 fanchuanzhidu 的回复:]

你点一次a标签 就给button加了一个click事件
[/Quote]
豆虫 2011-09-25
  • 打赏
  • 举报
回复
你点一次a标签 就给button加了一个click事件

87,989

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧