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