有人可以解释如何将 javascript 中的停止传播集成到我的代码中吗?我原以为网上会有很多清晰的例子,但是我看到的例子并没有帮助我理解。
我一直看到这个代码片段作为解释:
function doSomething(e)
{
if (!e) var e = window.event;
e.cancelBubble = true;
if (e.stopPropagation) e.stopPropagation();
}
但我猜我的 javascript 素养是 0,因为我很难确定哪个是字面的,哪个是占位符变量,因为我应该以不同的方式输入。
比如,假设我有一个列表项及其父元素的 onclick。并且 onclick 它调用了一个 ajax 函数,但我需要防止它冒泡。
那么上面的功能应该是独立的吗?还是应该代表我添加到我已经存在的函数中的代码?
什么是 e,为什么我将它作为参数传递给我的函数?
我不明白if(!e)
会带来什么。什么是 e,什么时候 e 不为真的条件被满足?
这是我的代码:
阿贾克斯查询:
function serverconnect(divID, $clickvalue, datalocation)
{
var1=$clickvalue;
if(xmlhttp)
{
var obj = document.getElementById(divID);
xmlhttp.open("GET", datalocation);
xmlhttp.onreadystatechange = function()
{
if (xmlhttp.readyState == 4 &&
xmlhttp.status == 200)
{
obj.innerHTML = xmlhttp.responseText;
}
}
xmlhttp.send(null);
}
alert(var1);
serverconnectPP('productpane6', 'clickit', 'ProductPane.php')
}
html:
<li onclick="serverconnect(var1, var2, var3)">Test
<ul>
<li onclick="serverconnect(var1, var2, var3)">Test</li>
</ul>
</li>
html 不太重要,但关键是如果我点击内部 li,两个 onclicks 都会触发。
我知道 jquery 很棒,但请给我一个 javascript 解释。