社区首页 >问答首页 >使用jquery访问twitter bootstrap body body内容

使用jquery访问twitter bootstrap body body内容
EN

Stack Overflow用户
提问于 2012-11-27 10:39:45
回答 2查看 2.4K关注 0票数 2

我是jquery和twitter bootstrap的新手,所以请原谅这个愚蠢的问题。

我有一个MVC视图,它设置了一个twitter bootstrap模式,这是由一个链接激活,也在此视图中输出。

我想使用data-remote和modal一起加载带有MVC局部视图内容的modal。

我把这一切都做得很好。

但是我想要做的是能够通过jquery从主视图访问元素(从局部视图),即使我确信我已经正确地选择了选择器,但它并没有像预期的那样工作。

例如,我有一个href链接,我试图将其分配给click事件,但这不会触发。

但是,如果我移动脚本,使其在部分视图中输出,就像拉入模态主体一样,那么脚本就可以工作了,并且click事件也会得到处理。

我不希望在局部视图中有脚本(即使引用了),我宁愿在主视图中引用一个脚本。

有没有办法访问远程加载到模态主体中的元素,而不必将脚本放在远程部分视图中?

作为补充,我刚刚模拟了一个测试,在该测试中,模式不使用data-remote,并且锚href被直接插入到模式主体中,执行此操作时,我仍然无法从主页访问此anchor.click事件。非常感谢您的任何建议。

通过更多的研究,我在下面的帖子How to set the input value in a modal dialogue?中找到了答案

这似乎建议jquery选择器也应该包含.mode-body,所以我已经将选择器从以下改为:

代码语言:javascript
代码运行次数:0
复制
 $("#TestButton").click(function (ev) {
        ev.preventDefault()

        alert('Test Button Clicked'); 
    })

到这个

代码语言:javascript
代码运行次数:0
复制
 $(".modal-body #TestButton").click(function (ev) {
        ev.preventDefault()

        alert('Test Button Clicked'); 
    })

现在,click事件会像我最初预期的那样触发。

但是,我现在不确定为什么需要.mode-body作为jquery选择器的一部分。有没有人能解释一下?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-27 11:57:51

当新的动态内容加载到DOM中时,您需要将click事件连接到href。

当页面加载时,JQuery将在DOM中查找您的$("#TestButton"),但什么也找不到,因为此时动态内容尚未注入。

有几种方法可以处理这个问题。首先,您可以使用JQuery延迟单击事件的连接,直到注入新内容,或者您可以使用JQuery的.live函数。

你的代码应该是:

代码语言:javascript
代码运行次数:0
复制
$("#TestButton").live('click', function (ev) {
        ev.preventDefault()

        alert('Test Button Clicked'); 
    });

实际上..。从JQuery 1.7开始,Live似乎已经降价了

这是..。

代码语言:javascript
代码运行次数:0
复制
$("#TestButton").on('click', function (ev) {
            ev.preventDefault()

            alert('Test Button Clicked'); 
        });

希望这能有所帮助。

票数 1
EN

Stack Overflow用户

发布于 2014-07-13 07:43:51

您可以在Bootstrap3中操作远程内容模态的内容,方法是在单击的元素上使用HTML5数据属性并侦听模态show事件。

http://jsfiddle.net/dbasch/UbpS6/

/main.html

代码语言:javascript
代码运行次数:0
复制
<a data-toggle="modal" href="/remote.html" data-target="#myModal" data-merchant-name="Bob's House of Pancakes">Click me !</a>

<!-- Modal -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
                 <h4 class="modal-title">Modal title</h4>

            </div>
            <div class="modal-body">
                <div class="te"></div>
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
        </div>
        <!-- /.modal-content -->
    </div>
    <!-- /.modal-dialog -->
</div>
<!-- /.modal -->

<script type="text/javascript">

// we can't use the show.bs.modal or loaded.bs.modal events
// because the remote modal content is not accessable in the DOM
// when those events trigger

// when the remote modal content is shown  
$('#myModal').on('shown.bs.modal', function (e) {

    // get a data attribute value from the clicked element
    var merchantName = $(e.relatedTarget).data('merchant-name');

    // and set the content of the shown remote modal
    $('#myModalLabel').text(merchantName);

});

// cleanup the content of the hidden remote modal because it is cached
$('#reservationModal').on('hide.bs.modal', function (e) {

    $(this).removeData('bs.modal');

});

</script>

/remote.html

代码语言:javascript
代码运行次数:0
复制
<div class="modal-content">
    <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span>

        </button>
         <h4 class="modal-title" id="myModalLabel">Modal title</h4>

    </div>
    <div class="modal-body">
        <!-- start slipsum code -->
        <p>The path of the righteous man is beset on all sides by the iniquities of the selfish and the tyranny of evil men. Blessed is he who, in the name of charity and good will, shepherds the weak through the valley of darkness, for he is truly his brother's keeper and the finder of lost children. And I will strike down upon thee with great vengeance and furious anger those who would attempt to poison and destroy My brothers. And you will know My name is the Lord when I lay My vengeance upon thee.</p>
        <!-- please do not remove this line -->
        <div style="display:none;">
<a href="http://slipsum.com">lorem ipsum</a>
        </div>
        <!-- end slipsum code -->
    </div>
    <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
        <button type="button" class="btn btn-primary">Save changes</button>
    </div>
</div>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13582386

复制
相关文章
为什么不建议你国庆前找工作
最近在面试过程中,以上内容就是简历的问题。打算换工作或正在找工作的朋友,可以参考一下。
李才哥
2019/09/25
3.9K0
Windows凭据不工作
如果不是敲错IP、用户名、密码,报凭据不工作,一般情况下执行这几句命令后重启远程服务就正常了
Windows技术交流
2021/06/15
6.1K0
为什么从乙方出来的技术人,能在工作中 ‘更猛,更持久’?
在金三银四快过去的时候,谈这个似乎有些不妥。但现为好买财富平台架构部技术总监王晔倞总结了他十多年来的面经及职场经验,发现一个点,特别的有趣,就是:从乙方公司出来的小伙伴,不仅匹配度高、拒offer率低,并从入职后的表现来看,显得 “更猛,更持久”。
养码场
2018/08/10
4720
为什么我不建议你通过 Python 去找工作?
这是读者“前进一点”在微信上问我的一个问题,我当时给他的回复是“Python 挺火的,学 Python 就好。”但当我在 B 站上看了羊哥的一期视频后,深感懊悔,觉得自己给出的建议是不负责任的。
黄啊码
2022/06/20
2.8K0
为什么我不建议你通过 Python 去找工作?
这是读者“前进一点”在微信上问我的一个问题,我当时给他的回复是“Python 挺火的,学 Python 就好。”但当我在 B 站上看了羊哥的一期视频后,深感懊悔,觉得自己给出的建议是不负责任的。
沉默王二
2020/05/26
2.7K0
不找C++的工作,为什么要学习C++?
许多学编程的认为,特别是新手会觉得:“我又不找c语言的工作,需不需要学c语言?”,就象“我又不找C语言的工作,应不应该学c++”一样;我觉得答案不源于你做不做C++的工作,而取决于你做不做程序编程行业的工作。
诸葛青云
2019/09/11
2.2K0
不找C++的工作,为什么要学习C++?
独家 | 图片主题建模?为什么不呢?!
作者:Maarten Grootendorst 翻译:陈超校对:赵茹萱 本文约3200字,建议阅读5分钟本文介绍了使用图片主题进行建模。
数据派THU
2021/12/17
6000
独家 | 图片主题建模?为什么不呢?!
HHDESK批量重命名功能在工作中的实际运用
笔者自认为有个很好的习惯,每个完成的工作,都会新建一个文件夹,放在工作文件夹下面,并且分类很细,详细命名,方便查找,万一遗忘也没关系,关键字和时间一搜索即可。
恒辉信达技术有限公司
2023/06/16
1720
SEO优化推广工作应该如何展开呢?
据统计,全球500强的公司中,有90%以上的公司在公司网站中导入了SEO技术。然而SEO优化到底做什么?SEO优化是一种过程,他的目的是为了提高网站的流量和质量,实施的渠道是搜索引擎,获得的流量是根据目标关键词搜索结果点击而来的自然流量。
茹莱神兽
2022/02/13
3830
SEO优化推广工作应该如何展开呢?
RDP你的凭据不工作/RDP密码不刷新
如果你不属于上述的情况,请查看:https://learn.microsoft.com/zh-cn/windows-server/remote/remote-desktop-services/troubleshoot/rdp-error-general-troubleshooting#check-whether-a-group-policy-object-gpo-is-blocking-rdp-on-a-local-computer
阿龙w
2022/12/02
12.7K0
RDP你的凭据不工作/RDP密码不刷新
是否能在构造函数,析构函数中抛出异常?
宋凯伦
2018/01/04
3.7K0
HHDESK本地资源管理功能在实际工作中的应用
打开网址,浏览——发布——关闭;看起来简单的只需要点几下鼠标,实际却是繁琐,甚至有时候会漏掉1、2个网站,需要再次检查,一个个排除。 似乎是很合理的流程,很久以来,很多职业、很多人,都是这样做的。 然而HHDESK新版本的更新,让笔者研究出了一个可以精简工作的方法。 只需一次性设置即可。 1.在HHDESK首页点击资源管理,选择本地; 2.选择资源,点击新增; 3.设置名称; 4.在运行栏点击“浏览”,选择您所使用的浏览器; 5.在参数栏将所需要打开的网址复制进去,一行填写一个网址; 6.点击确定。
恒辉信达技术有限公司
2023/07/21
1800
项目成员为什么觉得项目的工作不是他的工作 ?
首先根本原因是人家不会永远是项目的人,项目的临时性,这点没办法改变。所以没有归属感,也没办法改变。
PM吃瓜
2023/03/02
4970
项目成员为什么觉得项目的工作不是他的工作 ?
128 天不上班不工作:照样领工资 9.5 万
原告:北京和风畅想科技有限公司 被告:杜某,男,1988年出生 和风畅想公司向法院提出诉讼请求: 1、判决无须撤销《解除劳动关系通知书》,双方无需继续履行劳动合同; 2、判决和风畅想公司无须向杜某支付自2020年2月29日至2020年7月5日期间工资收入损失95172.41元。 事实和理由: 2020年11月2日,和风畅想公司收到北京市朝阳区劳动人事争议仲裁委员会作出的京朝劳人仲字[2020]第16281号裁决书(以下简称“第16281号裁决书”),和风畅想公司不服该裁决。 不服裁决理由: 一、第1628
云头条
2022/10/09
2.2K0
128 天不上班不工作:照样领工资  9.5 万
webpack的watch选项不工作原因分析
今天尝试将以前创建的一个前端项目改为webpack编译,该项目使用了VueJS v2.0,原来是编写gulp脚本完成构建的。很自然就直接用vue-cli来搞定这个事了。 使用vue-cli创建项目 因为以前用过webpack,而vue-cli创建的项目底层其实还是使用webpack构建的,所以使用起来还是很简单的。 # 使用yarn,这个命令是跟npm兼容的,但速度快很多,而且可以保证依赖包版本的一致性,强烈推荐 yarn install --global vue-cli vue-cli webpack v
jeremyxu
2018/05/10
4.1K0
自动合并工作簿中各工作表数据
合并多表数据是工作中常见的情形。本文介绍一种在Excel及Power BI中不使用任何公式,快速合并一个工作簿中多个工作表的方法。
wujunmin
2021/09/07
1.6K0
自动合并工作簿中各工作表数据
为什么我退出了编程工作
从很小的时候就在印度出生和成长,在那里我们只有少数的职业选择。工程师和医生是很多人的头两个选择。现在,随着互联网的兴起,事情正在发生变化,但是父母期望孩子成为医生或工程师的情况并不少见。
程序那些事儿
2023/03/07
3150
为什么我退出了编程工作
【密码学】为什么不推荐在对称加密中使用CBC工作模式
这篇文章是我在公司内部分享中一部分内容的详细版本,如标题所言,我会通过文字、代码示例、带你完整的搞懂为什么我们不建议你使用cbc加密模式,用了会导致什么安全问题,即使一定要用需要注意哪些方面的内容。
9eek
2023/05/23
3K1
【密码学】为什么不推荐在对称加密中使用CBC工作模式
能在-40℃到50℃范围满血工作,新型锂电池问世
机器之心报道 编辑:陈萍、泽南 以后在北方开电车也不是问题了? 一种新型锂离子电池既可以在零下 40°C 的低温下工作,也可以在 50°C 的高温下工作。这种新型电池阴极使用硫制作,电池可以储存更多的能量。这是来自加州大学圣地亚哥分校(UCSD)的一项新研究。 这种电池可以增加电动汽车在寒冷温度下的行驶里程。此外,它们还可以用于卫星、航天器、高空无人机和潜艇。UCSD 纳米工程教授陈政(Zheng Chen)表示:通过大幅扩展锂电池的可操作窗口,我们可以为电动汽车之外的应用提供更强大的电化学物质。 目前来看
机器之心
2022/07/12
3460
能在-40℃到50℃范围满血工作,新型锂电池问世
点击加载更多

相似问题

统一阴影在编辑器中工作,而在构建中不工作。

24

为什么valign=“底部”不能在火狐中工作,而在IE和Chrome中工作呢?

46

为什么我的UI Button在构建后在编辑器中工作,而在android中不工作呢?

11

为什么我的RegEx在PHP中工作,而在JavaScript中不工作呢?

10

为什么font-lock-fontify-buffer不能在elisp中工作,而在minibuffer中工作呢?

13
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文