我正在纯粹用jQuery生成一个网页。应该发生的是当我按下页面上的“+”按钮时,调用函数add_timeline_element
来创建一组新的元素。相反,我得到一个错误:
未捕获的TypeError:在[object]上调用了Function.prototype.apply 对象],它是一个对象而不是一个函数
我不确定为什么会出现这种错误。就像我说的一切都是通过Jquery生成的,我附加按钮的点击和功能与另一个按钮/功能'm'/ minimize_t_inject_container
相同,而另一个工作正常。
JS:
$(function(){
function add_timeline_element(){
var timeline_element = $('<ul />', {
class: "timeline_element"
});
var section_1 = $("<li />");
var section_2 = $("<li />");
var button = $('<button />', {
text: '-',
class: "t_intect_button"
//click: function(){alert($(this).parent().parent().remove();}
});
var text_input = $('<input />', {
type: "text",
class: "t_text_area"
});
section_1.append(button);
section_2.append(text_input);
timeline_element.append(section_1);
ti
meline_element.append(section_2);
$(".t_inject_container").append(timeline_element);
}
function minimize_t_inject_container(){
$(".add_button").toggle();
}
function create_twitter_bar(){
var table_container = $("<ul />", {
class: "t_inject_container"
});
var row = $("<li />", { class: "t_inject_row" });
var menu = $("<ul />", { class: "menu" });
var section_1 = $("<li />");
var section_2 = $("<li />");
var add_element_button = $("<button />", {
text: '+',
click: add_timeline_element,
class: "add_button t_intect_button"
});
var minimize_button = $("<button />", {
text: 'm',
click: minimize_t_inject_container,
class: "minimize_button t_intect_button"
});
section_1.append(add_element_button);
section_2.append(minimize_button);
menu.append(section_1);
menu.append(section_2);
row.append(menu);
table_container.append(row);
$('body').append(table_container);
}
create_twitter_bar();
答案 0 :(得分:0)
您有section_1(button);
and section_2(text_input);
,section_1
和section_2
是元素。您将它们视为功能,而您无法做到。
答案 1 :(得分:0)
使用
var button = $('<button />', {
text: '-',
class: "t_intect_button"
}).on('click', function(){alert($(this).parent().parent().remove())});