多次单击事件触发
Click events fire multiple time
我检查了前面的问题,但没有得到任何帮助。我在头文件中写了这个脚本:
<script type="text/javascript">
$(function () {
var as= $("#dialog1").dialog({
autoOpen: false,
height:700,
width:700
});
$("#register").unbind().click(function () {
var url="<?php echo Yii::app()->request->baseUrl; ?>/index.php?r=site/register";
as.load(url).dialog("open");
});
$("#login").unbind().click(function () {
alert("click on login fired.");
var url="<?php echo Yii::app()->request->baseUrl; ?>/index.php?r=site/login";
as.load(url).dialog("open");
});
$(".ui-state-default .ui-icon").click(function () { as.dialog("close");});
$(".com").unbind().click(function () {
var element = $(this);
var id = element.attr("id");
var url='<?php echo Yii::app()->request->baseUrl; ?>/index.php?r=video/comments&video_id='+id;
as.load(url).dialog("open");
});
$(".smile").unbind().click(function () {
var element = $(this);
var id = element.attr("id");
var url="<?php echo Yii::app()->request->baseUrl; ?>/index.php?r=video/smiles&video_id="+id;
as.load(url).dialog("open");
});
});
</script>
'Login'和'Register'点击事件作为标题,剩下的两个事件用于另一个页面。当我去那个页面时,我首先点击"登录",然后再次点击登录,点击事件只调用一次,但是当我第三次点击"登录"时,然后登录点击事件三次,再次当我点击这个时,然后登录事件的数量增加。有人能告诉我这背后的原因吗?
你为什么不使用。()
$("#login").one('click',function () {
alert("click on login fired.");
var url="<?php echo Yii::app()->request->baseUrl; ?>/index.php?r=site/login";
as.load(url).dialog("open");
});
和
$("#register").one('click',function () {
var url="<?php echo Yii::app()->request->baseUrl; ?>/index.php?r=site/register";
as.load(url).dialog("open");
});
对于基于类选择器的点击事件.one()
不起作用,
使用更新的Demo
$('.com').click(function(){
//...
//...
//your function
$(this).unbind();
});
$("#login").one("click", function(e) {
alert("click on login fired.");
var url="<?php echo Yii::app()->request->baseUrl; ?>/index.php?r=site/login";
as.load(url).dialog("open");
});
相关文章:
- 如何使用2个事件单击1个日历
- 在 javascript 事件单击后清空输入
- 在元素 SVG 中使用 JavaScript 或 jQuery 进行事件单击
- fullCalendar动态事件单击行为
- 错误:'这'对象不正确;在JQuery中单击事件-单击时的意外行为
- 如何启用事件单击仅在指定的小时范围内
- 完整日历事件单击未触发
- 打开选择之前的事件.(单击工作速度不够快)
- 在 JavaScript 中,函数不会在事件单击时触发
- 主干分组依据集合仅在一次事件单击后呈现
- 如何禁用地图上的所有鼠标事件(单击、悬停等)
- Fullcalendar将图标添加到事件而不触发事件单击
- 在将JQuery对象添加到DOM之前,请将事件单击到JQuery对象
- 如何模拟拖动事件(单击鼠标移动按钮)
- 如果可编辑为 false,则全日历事件单击处理程序不起作用
- onclick事件单击时未添加类
- 事件单击Kml Placemark
- 事件单击时没有运行数据库
- 在事件单击函数中添加href url
- 创建元素和事件(单击)