Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Javascript中的document.write中执行onclick事件?_Javascript_Html - Fatal编程技术网

如何在Javascript中的document.write中执行onclick事件?

如何在Javascript中的document.write中执行onclick事件?,javascript,html,Javascript,Html,晚上好 我正在为学校作业制作一个Javascript自动生成的日历。基本创建已成功,但下一个任务是通过按“天”将约会添加到日历中 这就是我的问题开始的地方。我制作了一个简单的函数,并尝试将该函数作为onclick事件添加到正在生成的元素中,如下面的代码所示 问题是,当我单击一个元素时,什么也没发生!我试着使用一个虚拟函数,比如alert(“它起作用”),但仍然没有结果 有人能帮我回答这个问题吗 我的代码: HTML 卡伦德汽车公司 .td,tr { 边框颜色:红色; 边框宽度:5px; 字体系

晚上好

我正在为学校作业制作一个Javascript自动生成的日历。基本创建已成功,但下一个任务是通过按“天”将约会添加到日历中

这就是我的问题开始的地方。我制作了一个简单的函数,并尝试将该函数作为onclick事件添加到正在生成的元素中,如下面的代码所示

问题是,当我单击一个元素时,什么也没发生!我试着使用一个虚拟函数,比如alert(“它起作用”),但仍然没有结果

有人能帮我回答这个问题吗

我的代码:

HTML


卡伦德汽车公司
.td,tr
{
边框颜色:红色;
边框宽度:5px;
字体系列:'Bookman Old Style';
}
桌子
{
背景颜色:灰色;
颜色:深色;
}
.身体
{
背景颜色:浅灰色;
}
Javascript:

    // HOW
function MaakAfspraak() {
    alert("afspraak gemaakt");
}

function Dag_Titel(dag_naam)
{
    document.write("<td width=40>" + dag_naam + "</td>");
}

function VulTabel(maand, maand_length)
{ 
    dag = 1;
    //beginnen met tabel + berg vars, dag hieboven is belangrijk
    document.write("<table border=5 cellspacing=3 cellpadding=%3><tr>");
    document.write("<td align=center colspan=7><b>" + maand + " " + jaar + "</b><tr>");
    Dag_Titel("Zo");
    Dag_Titel("Ma");
    Dag_Titel("Di");
    Dag_Titel("Wo");
    Dag_Titel("Do");
    Dag_Titel("Vr");
    Dag_Titel("Za");

    // dit zijn de lege cellen voor het begin van een maand
    document.write("</tr><tr>")
    for (var i=1; i<start_dag; i++)
    {
        document.write("<td  onclick=´MaakAfspraak()´>");
    }

    // 1ste week van een maand
    for (var i=start_dag; i < 8; i++)
    {
        document.write("<td align=center  onclick=´MaakAfspraak()´>" + dag + "</td>");
        dag++;
    }

    document.write("<tr>");

    // rest van de weken
    while (dag <= maand_length)
    {
        for (var i = 1; i <= 7 && dag <= maand_length; i++)
        {
            document.write("<td align=center  onclick=´MaakAfspraak()´>" + dag + "</td>");
            dag++;
        }
        document.write("</tr><tr>")
        // hieronder de 1ste dag voor de volgende maand zodat we alles kunnen vullen
        start_dag = i;
    }
    document.write("</tr></table></ br>")
}

// eerste dag van nieuwe jaar en meer shiz
jaar = 2014;
vandaag = new Date("Januari 1, " + 2014)
start_dag = vandaag.getDay() + 1;  
VulTabel("Januari", 31);
VulTabel("Februari", 29);
VulTabel("Maart", 31);
VulTabel("April", 30);
VulTabel("Mei", 31);
VulTabel("Juni", 30);
VulTabel("Juli", 31);
VulTabel("Augustus", 31);
VulTabel("September", 30);
VulTabel("Oktober", 31);
VulTabel("November", 30);
VulTabel("December", 31);


//end 
//怎么做
函数MaakAfspraak(){
警报(“AFSPRAK gemaakt”);
}
功能Dag_Titel(Dag_naam)
{
文件。写(“+dag_naam+”);
}
函数VulTabel(maand,maand_长度)
{ 
dag=1;
//贝金宁遇到了塔贝尔和贝尔格·瓦尔斯,达格·希博文是贝朗格里克
文件。填写(“”);
写(“+maand+”+jaar+”);
Dag_Titel(“Zo”);
Dag_Titel(“Ma”);
Dag_Titel(“Di”);
Dag_Titel(“Wo”);
Dag_Titel(“Do”);
Dag_Titel(“Vr”);
Dag_Titel(“Za”);
//这是一个很好的开始
文件。写(“”)

对于(var i=1;i结果表明,我在onclick函数调用中使用了错误类型的qoutes。感谢@KevinB!

不要使用
文档。编写
。相反,使用DOM创建元素(速度快得多),然后通过
addEventListener
添加事件:

//Create it
var td = document.createElement( "td" );

//Add to tr
tr.appendChild( td );

//Add event
td.addEventListener( "click", MaakAfspraak, false );

请尝试使用.innerHTML来输入文本,而不是document.write()。td onclick属性中的引号不是引号。@KevinB好吧,我会被诅咒的……事实证明这确实是问题所在。。谢谢您的时间;)看一看是的,但您不应该以这种方式创建元素。请参阅我的答案。
//Create it
var td = document.createElement( "td" );

//Add to tr
tr.appendChild( td );

//Add event
td.addEventListener( "click", MaakAfspraak, false );