在元素加载时调用javascript函数
Calling a javascript function on element load
所以我在我的项目中使用ckEditor实现,我想为它的一个对话框提供自动完成功能。我通过在特定输入字段上调用javascript函数来实现自动完成功能。但是,我不完全确定如何获得特定的输入元素,因为它只出现在我点击ckeditor中的按钮之后,因此在文档加载时无法获得。
是否在加载特定的div/元素时触发javascript函数?我试图使用Jquery的$().load
函数,但它似乎并没有开火。下面是一个简短的例子
$(".cke_reset_all cke_1 cke_editor_documentBody_dialog").on("load",function(){
console.log("Successful firing")
//some code here
});
我在控制台中没有看到任何文本,但是出现了带有类名的div。
每次包含输入的对话框加载时,将创建以下div
<div class="cke_reset_all cke_1 cke_editor_documentBody_dialog " lang="en" aria-labelledby="cke_dialog_title_113" role="dialog" dir="ltr">
所以我试图运行我的自动完成脚本加载这个div完成后,我想要的输入字段是嵌套在它。什么好主意吗?
jQuery中的load
方法是一个AJAX速记方法,所以它不是你在这里要找的。
如果你想绑定到加载事件,你需要使用on
方法(或者在早期版本的jQuery中绑定)。
细节:http://api.jquery.com/on/
load
事件仅适用于某些元素,如body, iframe, img, input, script。
在您的示例中,要检测页面中是否存在输入元素,您可能必须依赖于带有setTimeout或setInterval循环的轮询。在循环中,代码看起来像:
var inputs=$("div.cke_editor_documentBody_dialog input");
if (inputs.length==1) // do something
请注意,你在问题中写选择器的方式是错误的。
将On方法绑定到父div,然后查找id/class并执行您的逻辑/调用函数。
$(function () {
$('#parentDiv').on('click' ,'yourselectorhere', function() {
console.log('working');
});
});
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 正在全局范围中查找JavaScript函数
- 如何将输入(type=text)从html表单传递到javascript函数
- 如何调用这个匿名 JavaScript 函数
- 通过Ajax将JavaScript函数传递给PHP文件
- 在javascript函数中设置全局变量
- 如何在执行此特定onclick事件时执行JavaScript函数
- 使用javascript函数在页面初始化后加载jquery
- javascript函数同步
- 如何将一个JavaScript函数回调为多个函数
- 在javascript函数中使用php变量
- 代码背后调用一个JavaScript函数的按钮点击-C#
- 将JavaScript函数与HTML分离
- 组合两个javascript函数
- 在 Java 中的 JavaScript 函数中插入 Wicket 值
- javascript函数内部的代码用逗号而不是分号分隔
- href属性内的javascript函数
- 使用html表单中的参数调用JavaScript函数
- 分析Javascript函数中的多个对象
- javascript函数的:和=之间的区别