如何在单独的javascript页面上创建事件

如何在单独的javascript页面上创建事件,javascript,javascript-events,getelementbyid,Javascript,Javascript Events,Getelementbyid,您好,我正在尝试找出如何在下面的索引页面的单独页面上创建事件。例如,当一个点击事件发生时,我想在一个单独的页面(artist.html)上附加一个新节点,我知道我可以访问元素ID并附加子元素,但我不确定我在这里做错了什么, 现实世界的例子:用户点击一个元素,这个元素会变成一个点击事件,将他们带到一个页面,该页面会创建一个文本节点,说“Hello world”。。。 下面是我的javascript代码片段,谢谢 下面是发生单击事件的index.html页面 <form class

您好,我正在尝试找出如何在下面的索引页面的单独页面上创建事件。例如,当一个点击事件发生时,我想在一个单独的页面(artist.html)上附加一个新节点,我知道我可以访问元素ID并附加子元素,但我不确定我在这里做错了什么, 现实世界的例子:用户点击一个元素,这个元素会变成一个点击事件,将他们带到一个页面,该页面会创建一个文本节点,说“Hello world”。。。 下面是我的javascript代码片段,谢谢

下面是发生单击事件的index.html页面

      <form class="navbar-search">
                <input class="search-query" placeholder="Search..." type="text">
                <div id="drop" class="dropdown">
                    <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
                        <li>
                           <a id="photo_0" tabindex="-1" href="artist.html">
                              <p id="artist_0" class="list-item"> </p>
                           </a>
                        </li>
                       <li>
                           <a id="photo_1" tabindex="-1" href="artist.html">
                             <p id="artist_1" class="list-item"> </p>
                           </a>
                        </li>

    <script>

    var photo0 = document.getElementById("photo_0");
    photo0.onclick = function() {

document.getElementById("album0").appendChild(document.createTextNode("Hello  World"));

};

  • var photo0=document.getElementById(“photo_0”); photo0.onclick=函数(){ document.getElementById(“album0”).appendChild(document.createTextNode(“Hello World”); };

在上面创建的事件单击发生时,我希望在其中附加新文本节点的artist.html页面的片段

     <a href="#"><p id="album0" class="album-photo"></p></a>
        <div>
            <p id="album-data0" class="albumdata-class"></p>
        </div>


您是否可以在URL中创建一个可以拉入新页面的参数,并根据该参数创建事件?(例如www.whater.com?someparameter=whater)

要执行此操作,请启动一个新窗口(如果尚未启动)

var newwindow = window.open(url);
确保将其存储到变量中。然后,执行以下JavaScript:

newwindow.document.body.appendChild(element);

document.body是新打开的窗口,可以通过变量访问。

如果在进行更改时未打开
artist.html
,则无法执行此操作。如果它在不同的窗口中打开,如果您有该窗口的标识符,这是可能的。需要更多详细信息!@Mike…所以没有办法从另一个页面上的一个元素创建一个新的文本节点,点击一个事件???,这将非常像一个动态页面。。。在此处,我从单击中添加和删除子元素events@Mike我假设点击事件不能同时发生在两个页面上。。1) 单击事件发生2)用户转到某个页面,3)用户看到一个用javascript动态创建的新文本节点..???如果页面未打开,它在DOM中不可用,因此无法向其中添加元素。如果页面处于打开状态(例如,如果使用了
myWindow=window.open(…)
),则可以使用
myWindow.document.getElementById('id').appendChild()向其添加元素然而,像这样的弹出窗口是丑陋的,最多你是对的-一个事件只发生在一个地方。您可以使用事件重定向到
artist.html
,使用查询字符串传递有关更改的信息,并在新页面上获取javascript以实现更改。不过,这一切似乎都有点麻烦。@Mike Wooooa,这是非常。。。感谢上帝给了我脊梁骨。。。非常感谢您的解释…:)@Tom,我不确定,但是backbone.js会解决所有问题,我正在尝试从另一个页面动态添加和删除dom元素,