gpt4 book ai didi

javascript - 页面加载时使用 JQuery,而不是单击 live()

转载 作者:行者123 更新时间:2023-11-28 08:24:23 26 4
gpt4 key购买 nike

我有一个使用以下脚本的网站:

//==================== EXPAND ========================//
$('a.expand').live('click',function() {

var _hide = $(this).attr('data-hide');

$(this).addClass('activeSpan');
$(this).parent().find('.details-post').slideDown();
$(this).parents('li').find('.grid-reply').slideDown();
$(this).parents('li').find('.spanReply').slideDown();
$(this).parent().find('.textEx').html(_hide);
$(this).removeClass('expand');

if( $(this).hasClass( 'reply' ) )
{
$(this).parent().find('#reply_post').focus();
}
});

$('a.activeSpan').live('click',function() {
var _expand = $(this).attr('data-expand');

$(this).addClass('expand');
$(this).parent().find('.details-post').slideUp();
$(this).parents('li').find('.grid-reply').slideUp();
$(this).parents('li').find('.spanReply').slideUp();
$(this).parent().find('.textEx').html(_expand);
$(this).removeClass('activeSpan');
});

$('.optionsUser > li:last').css({'border':'none'});

这用于在用户单击“展开”时显示数据。相反,我希望文本自动显示。我应该如何更改脚本?我尝试将 live('click' 更改为 live('load' 但这不起作用。

该网站使用:https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js

提前致谢。

<小时/>

这是 php 代码:

<!-- EXPAND -->
<a data-expand="<?php echo $_SESSION['LANG']['expand']; ?>" data-hide="<?php echo $_SESSION['LANG']['hide']; ?>" class="expand getData" data="<?php echo $key['id']; ?>" data-token="<?php echo $key['token_id']; ?>">
<?php echo $icon; ?>
<span class="textEx"><?php echo $_SESSION['LANG']['expand']; ?></span> <?php echo $typeMedia; ?>
</a>

这是示例 html:

<a data-expand="Expand" data-hide="Collapse" class="expand getData" data="697" data-token="0f1966ac9d8529055f9b0e09c0a58a65cdf5d5e8">                                  <span class="textEx">Genişlet</span>             </a>

想想 facebook 或 twitter,你点击展开,你就会得到一个回复​​帖子的区域。目前我必须单击才能查看回复表单,但我希望默认情况下显示该表单。

最佳答案

您可以使用自定义事件或仅以编程方式触发点击:

$(function(){//run on page load

$('a.expand').live('click',function() {

var _hide = $(this).attr('data-hide');

$(this).addClass('activeSpan');
$(this).parent().find('.details-post').slideDown();
$(this).parents('li').find('.grid-reply').slideDown();
$(this).parents('li').find('.spanReply').slideDown();
$(this).parent().find('.textEx').html(_hide);
$(this).removeClass('expand');

if( $(this).hasClass( 'reply' ) )
{
$(this).parent().find('#reply_post').focus();
}
});

$('a.activeSpan').live('click',function() {
var _expand = $(this).attr('data-expand');

$(this).addClass('expand');
$(this).parent().find('.details-post').slideUp();
$(this).parents('li').find('.grid-reply').slideUp();
$(this).parents('li').find('.spanReply').slideUp();
$(this).parent().find('.textEx').html(_expand);
$(this).removeClass('activeSpan');
});

$('a.expand').trigger("click");//trigger click on page load

$('.optionsUser > li:last').css({'border':'none'});
});

关于javascript - 页面加载时使用 JQuery,而不是单击 live(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22596521/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com