通过 jquery 具有属性的动态按钮
Dynamic buttons with attributes through jquery
好的,我可以用表单代码生成一个按钮
var temp = "<button type='"button'" class='"dynBtn'" id='"anID'">Here!</button>";
$('#myDiv').append(temp).click(function(){
window.alert("Hello! My id is " + this.id);
});
然后在运行时,这并没有真正起作用,因为我得到的 id 是"myDiv"的答案。另一方面,我也尝试使用这样的东西:
$('#myDiv').append(temp).click(dynButtonClicked(this));
其中 dynButtonClicked 单独定义为
function dynButtonClicked (aButton) {
window.alert("Hey, my id is " + aButton.id);
};
但是,这样,在加载页面时单击按钮,id是"未定义的",此外,无论我单击该按钮多少次,我都不会收到进一步的警报(除了我在页面加载时收到的警报(。那么,我怎样才能做到这一点呢?
我想理想情况下,我想为运行时生成的所有按钮的类命名,然后在单击其中任何一个按钮以在
$(document).ready(...)
功能。但是,请继续告诉我你的想法。事实上,稍后,通过交互,我可能想要删除按钮或禁用它们。所以,我正在寻找一些强大的东西。提前感谢您的时间。
以下是使用jQuery方式进行操作的方法:
var $button = $('<button/>', {
type: 'button',
'class': 'dynBtn',
id: 'anID',
text: 'Here!',
click: function() {
window.alert('Hello! My id is '+ this.id);
}
});
$button.appendTo('#myDiv');
这是因为.append()
不返回附加的元素,在这种情况下您可以使用.appendTo()
:
$(temp).appendTo('#myDiv').on('click', function() {
window.alert("Hello! My id is " + this.id);
});
如果要向 DOM 添加许多元素,最好改用事件委派。
$('#myDiv').on('click', '.appendedElement', fn);
使用 on((,这样做:
$(document).ready(function(){
//in here you put the event for all elements with dynBtn class
$(document).on("click",".dynBtn",function(){dynButtonClicked();});
});
function dynButtonClicked (aButton) {
window.alert("Hey, my id is " + aButton.id);
};
//and append the button anytime you want
var temp = "<button type='"button'" class='"dynBtn'" id='"anID'">Here!</button>";
$('#myDiv').append(temp);
相关文章:
- 动态按钮输出反应.js
- 表中的动态按钮用于使用Javascript(CodeIgniter)删除/编辑数据
- 动态按钮调用JavaScript函数
- 单击动态按钮时获取ImageData
- 在javascript中显示动态按钮的值
- 如何为同一类的动态按钮设置监听器
- 使用锚标记 A 在网格中创建动态按钮
- 动态按钮启用基于错误组的挖空 js
- 如果两者具有相同的 id,如何使用 jquery 单击动态按钮来删除动态跨度
- 如何使用 jquery 在正在使用 ajax 的动态按钮上触发按钮单击
- 如何在 Gmail 中使用 javascript 在动态按钮中设置图像和字体大小
- 带有jQuery的qTip动态按钮(当前使用选择器)
- 通过 jquery 具有属性的动态按钮
- 创建动态按钮以显示对话框
- TinyMCE 动态按钮/方法
- 动态按钮点击事件仅适用于最后一个按钮
- jQueryUI对话框带有使用回调的动态按钮
- 带有动态按钮和函数的javascript循环
- 在动态按钮单击时调用命名函数时的PreventDefault
- 改变动态按钮的CSS