难以将事件处理程序附加到动态生成的模式窗口元素
Difficulty attaching event handler to dynamically generated modal window elements
此问题是对这三个问题的不断学习/发现。这个问题对我来说是从这里开始的:
后第一次
后的第二个
现在,这篇文章是关于@StephenMuecke关于动态附加事件处理程序的帖子。这对我来说是新的,所以我不得不读起来,但现在我明白了这确实有意义。
在阅读了文档和大量SO帖子之后,我似乎仍然无法启动点击事件处理程序??
这次我决定采取不同的方法。我创建了一个jsfiddle来演示这个问题。http://jsfiddle.net/ramjet/93nqs040/17/
然而,为了在他们的框架内工作,我不得不从现实中改变一些jsfiddle。以下是实际代码。
启动模态的父窗口脚本。。。警报绑定确实会开火。
<script>
$(document).ready(function ()
{
$("#new").click(function (e)
{
e.preventDefault();
var ischanging = false;
var financierid = 0;
var detailsWindow = $("#window").data("kendoWindow");
if (!detailsWindow)
{
// create a new window, if there is none on the page
detailsWindow = $("#window")
// set its content to 'loading...' until the partial is loaded
.html("Loading...")
.kendoWindow(
{
modal: true,
width: "800px",
height: "400px",
title: "@T("...")",
actions: ["Close"],
content:
{
url: "@Html.Raw(Url.Action("ActionName", "Controller"))",
data: { financierId: financierid, isChanging: ischanging }
}
})
.data("kendoWindow").bind('refresh', function (e)
{
alert('Bound');
$('document').on("click", "#save", function () { alert("i work");});
}).center();
}
detailsWindow.open();
});
</script>
我认为不需要模式完整的html,但如果需要,我会更新它。这正是我试图动态绑定的元素。
<input type="button" id="save" style="margin-right:10px;" value="Save Record" />
document
不需要引号:
$(document).on("click", "#save", function () { alert("i work");});
"document"
搜索document
的元素,而不是实际的document
$("document").length; //0
$(document).length; //1
相关文章:
- 是否有任何snippet或jQuery插件可以列出easylist.txt模式匹配的DOM中的所有元素
- Webdriver.io pageObject模式-通过传递参数来定义元素选择器
- 如何在不同的设备模式下强制元素的高度
- 在模式框打开之前更改 SVG 元素的颜色,并在框打开时保持该颜色
- 复制要在模式框中显示的父元素
- 输入元素模式属性的Javascript正则表达式在reFiddle上有效,但在页面上无效
- 试图通过模块模式在DOM元素上实现change()事件
- 事件委派模式,在按钮中使用 addEventListener 和嵌套元素
- 查找具有与模式匹配的属性的元素
- 引导模式元素选择
- 使用引导模式防止父 onclick 事件从子元素传播
- 无法在无头模式下使用 watir Webdriver 执行按钮元素的 onclick 事件 javascript
- 弹出模式仅适用于表格中的第一个元素,第二次单击后不会再次打开
- 设计模式下的浏览器将孤立的 LI 元素包装在 UL - Firefox 和 Chrome 中
- 我将如何移动带有元素的 SVG 模式
- 从嵌套数组中获取唯一元素的 JS 模式是什么
- 具有DOM元素的模块化模式
- 如何使用VideoJS使元素在全屏模式下可见
- 如何从单击的元素开始重新启动顺序模式
- 使用拉斐尔在svg中创建一个模式元素