我检查过以前的问题,但没有得到任何帮助。 我在头文件中写了这个脚本:
<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>
&#39;登录&#39;和&#39;注册&#39;单击标题的事件,以及另一个页面的剩余两个事件。 当我转到那个页面时,我首先点击“登录”#39;之后再次点击登录,只点击一次事件通话,但是当我第三次点击“登录”时,再点击事件点击三次,再次当我点击这个,然后点火登录事件增加。 任何人都可以告诉我这背后的原因吗?
答案 0 :(得分:1)
为什么不使用 .one()
$("#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()
无效,
使用此: Updated Demo
$('.com').click(function(){
//...
//...
//your function
$(this).unbind();
});
答案 1 :(得分:0)
$("#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");
});