在导入的页面行上运行母版页脚本
Running Master page scripts on imported page lines
我使用这样的链接将一些 php 导入到div 块中
<a class="ajax-link" href="login.php">Login/Register</a>
和这样的脚本(使用 jquery load 来填充div 块)。
$(function() {
$("a.ajax-link").on("click", function(e) {
e.preventDefault();
$("#body-element").load(this.href);
});
});
现在假设运行 php 部分后加载的 php 文件还包含一个带有"ajax-link"类的链接,我也希望该链接更改该div 块的内容
<?php
...
?>
<a class="ajax-link" href="view.php">View content</a>
但是,它似乎完全忽略了它并打开了一个新页面,而不是在其上运行上述功能。
所以基本上...如何在页面的导入部分上运行该脚本?
这就是事件委派派上用场的地方。
$(document.body).on("click", "a.ajax-link", function(e) {
// ...
});
此代码需要重新运行...动态添加的对象不包括在以前的单击中。
$("a.ajax-link").on("click", function(e) {
e.preventDefault();
$("#body-element").load(this.href);
});
。你也可以...关闭旧观察程序。
$("a.ajax-link").off("click");
更新:
尝试。。。
$("a.ajax-link")
.off("click")
.on("click", function(e) {
e.preventDefault();
$("#body-element").load(this.href);
});
您还必须在新添加的链接上应用单击侦听器,因为在应用单击侦听器时必须将元素加载到 DOM 中才能应用它。但是,如果您只是重新运行相同的代码,则会遇到在第一个 ajax-link 上有两个事件侦听器的问题。
试试这个:
// We still use on doc ready to be sure the
// first link is present before applying listener
$(function()
{
// Reset all listeners on ajax-links and
// then apply listeners via function
resetAjaxLinks();
});
// This function will remove any ajaxlink
// listeners and then apply them correctly
function resetAjaxLinks()
{
// Remove event listeners and then on click....
$("a.ajax-link").off('click').on("click", function(e)
{
// Prevent default link action...
e.preventDefault();
// Load in your content...
$("#body-element").load(this.href);
// Once content is loaded in, reset event listeners!
resetAjaxLinks();
});
}
编辑:这不是最好的方法。请改用此答案指定的事件委派。
相关文章:
- 正在SharePoint 2013母版页中添加JQuery移动文件
- 网格视图页眉冻结在母版页中不起作用
- 避免使用母版页在 Javascript 中重复
- Jquery 引导程序验证 asp.net 母版页不起作用
- 母版页中的 JavaScript asp.net 无法加载
- 谷歌分析,jQuery华丽的弹出菜单.NET母版页实现
- 更改母版页中菜单项的类
- 如何在使用flash音乐播放器的母版页中自动播放音乐之前添加延迟
- 如何在子页面上覆盖母版页(模板)中的html代码
- Javascript无法从母版页运行
- 使用asp.net和母版页在ListView中保持回发时的滚动位置
- 使用母版页通过窗体在 asp.net 中调用 JavaScript 函数
- 排除子页中的母版页 JS 文件 asp.net
- 类似于母版页 asp.net 客户端解决方案
- 使用 JavaScript 获取首页(母版页)
- 如何在 SharePoint 母版页中包含共享位置中的 js 文件
- 使用 javascript 获取母版页内容占位符中文本框的值
- 将 jQuery 引用放在母版页有什么好处
- 在导入的页面行上运行母版页脚本
- Javascript在ASP上.. NET母版页未在子目录的内容页上运行