【问题标题】:Highlight/trigger click event for div突出显示/触发 div 的点击事件
【发布时间】:2016-11-18 20:47:55
【问题描述】:

我正在通过以下方式将记录绑定到 div

<div class="well" id="divQuestionList">
<div class="jarviswidget">
    @if ((ViewBag.classDiscussion as List<LMS_ClassDiscussionListViewModel>).Count > 0)
    {
        @foreach (var item in ViewBag.classDiscussion as List<LMS_ClassDiscussionListViewModel>)
        {
            <div id="divQuestion_@item.ClassDiscussion.ClassDiscussionID" class="fc-content" onclick="GetDiscussionDetails(@item.ClassDiscussion.ClassDiscussionID);" data-divtoggle="0" role="button">
                <b>@item.ClassDiscussion.DiscussionTitle</b>
                <div class="unsortable widget-toolbar hidden-phone">
                    <div class="unsortable divider dark">
                        <label id="lblReply_@item.ClassDiscussion.ClassDiscussionID">@item.ReplyCount @objLocalizer["ClassDiscussionResponses"]</label>

                    </div>
                </div>
            </div>
            <div id="divContent_@item.ClassDiscussion.ClassDiscussionID" style="display:none;">
                <div class="chat-body no-padding profile-message">
                    <ul id="ulContainer_@item.ClassDiscussion.ClassDiscussionID"></ul>
                </div>
            </div>
        }
    }

在控制器中,我在会话中存储了 div 的 ID,需要触发或突出显示单击事件。

那么,我的问题是如何触发相关 div 的点击点击事件?

我尝试过document.Ready函数,但是每次刷新页面都会触发事件。我只想第一次/只触发一次事件。

 <script type="text/javascript">
    $(document).ready(function () {
          $('#divQuestion_1').trigger('click');

    });
</script>

那么,最好的方法是什么?

【问题讨论】:

    标签: jquery html asp.net-mvc


    【解决方案1】:

    我希望你在这里回答。 这个小提琴trigger 电话。并且可以执行功能。

    注意: 将 id 替换为 id="divQuestion_@item.ClassDiscussion.ClassDiscussionID" To id="divQuestion_1" 因为我执行 html 并为您创建演示。触发器工作,函数调用..

    现场演示 Here

    片段示例

     function GetDiscussionDetails() {
       alert(' GetDiscussionDetails Function is call');
     }
     $(document).ready(function() {
       $('#divQuestion_1').trigger('click');
    
     });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <div class="well" id="divQuestionList">
      <div class="jarviswidget">
    
        <div id="divQuestion_1" class="fc-content" onclick="GetDiscussionDetails()" data-divtoggle="0" role="button">
          <b>@item.ClassDiscussion.DiscussionTitle</b>
          <div class="unsortable widget-toolbar hidden-phone">
            <div class="unsortable divider dark">
              <label id="lblReply_@item.ClassDiscussion.ClassDiscussionID">@item.ReplyCount @objLocalizer["ClassDiscussionResponses"]</label>
    
            </div>
          </div>
        </div>
        <div id="divContent_2" style="display:none;">
          <div class="chat-body no-padding profile-message">
            <ul id="ulContainer_@item.ClassDiscussion.ClassDiscussionID"></ul>
          </div>
        </div>
      </div>
    </div>

    【讨论】:

    • 是的,我已经以同样的方式完成了,但是在什么情况下我需要触发事件,如果页面被刷新,那么如果写入文档,将再次调用触发器。准备好了,我不想要
    【解决方案2】:

    尝试使用 Delegate 来生成 div Tag 的点击事件。比如: $('body').delegates('#divQuestionList','click',function(){ // 写你的代码 });

    【讨论】:

    • 什么时候触发?完成我的 for 循环后??
    • 当你点击 div 标签时,它会像正常的按钮点击事件一样工作。
    • 当记录填充到 div 时,事件会自动触发?
    • 加载完整布局后.div标签像按钮一样工作。(意思是:所有内容自动加载)
    • 如果我刷新了页面那么这应该不会触发事件?
    猜你喜欢
    • 2014-11-21
    • 2012-09-28
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多