0

有人可以解释如何将 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 解释。

4

0 回答 0