单击p元素时的javascript触发事件
javascript triggering event when p element is clicked
我正在用原始javascript编写一个程序。当点击<p>
元素时,我希望它能触发一个函数,将元素的价格添加到总数中。请参阅下面的代码。
JS-
function loadJSONDoc()
{
var answer;
var xmlhttp;
xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
answer = JSON.parse(xmlhttp.responseText)
var items = answer[0].prices[0];
for(var index in items) {
var node = document.getElementById("orderList");
var p = document.createElement('p');
var price = items[index];
p.setAttribute("class", price)
var textnode = document.createTextNode(index + " price = " + price);
p.appendChild(textnode);
node.appendChild(p);
};
}
var total = 0;
var update = document.getElementsByTagName("p");
update.onclick = function(){
///code here to update total based on element id
}
返回JSON对象并更新我的html页面后,它看起来像这样:
HTML
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<ul id="orderList">
<p class="4.75">Cafe Latte price = 4.75</p>
<p class="4.75">Flat White price = 4.75</p>
<p class="3.85">Cappucinoprice = 3.85</p>
</ul>
<script src="js/getData.js"></script>
</body>
</html>
通过使用以下代码,我可以针对一个<p>
元素,但我正在寻找一种解决方案,如果我单击ANY <p>
元素,我的函数将触发该解决方案,它将根据该<p>
元素的类的值更新总数。我希望这是有道理的。
var update = document.getElementsByTagName("p")[0];
update.onclick = function(){
///code here to update total based on element id
}
谢谢,Paul
您需要在document.getElementsByTagName("p")
中绑定每个项。你只是第一次这么做。例如:
var update = document.getElementsByTagName("p");
for( var i = 0; i < update.length; ++i ) {
update[i].onclick = function() {
//code here to update total based on element id
}
}
注意:您可以通过在onclick
函数中执行this.className
来访问<p>
元素类的值。
相关文章:
- 召回窗口加载事件 - javascript
- 动态创建OnClick事件Javascript
- 全局屏幕span onclick触发一个事件javascript
- 使用react js在跨域上执行事件javascript
- 在change事件javascript上动态添加行
- 在粘贴事件Javascript的输入字段中删除所有非数字字符
- 如何在多表单的输入框中使用输入事件javascript
- 无法查看特定信息.单击事件.Javascript
- 两个文本框事件Javascript
- 阻止鼠标滚轮滚动,但不阻止滚动条事件.JavaScript
- 从 onkeydown 事件 (Javascript) 获取当前用户输入
- “稍后提醒我”/“快速事件”JavaScript解决方案
- 更改我正在侦听的事件Javascript的对象的CSS
- setInterval 不允许同时单击事件 - javascript
- 对每种情况使用一个事件(JavaScript 开关)
- 仅创建第二次点击事件 Javascript
- 每 60 秒仅启动一次事件 (JavaScript)
- 如何连接来自不同文件的事件?Javascript/Backbone
- URL 更改事件 - JavaScript
- 无法在无头模式下使用 watir Webdriver 执行按钮元素的 onclick 事件 javascript