从此代码中删除onclick函数

时间:2017-05-04 15:02:19

标签: javascript html onclick

我实际上不确定如何标题这个问题,如果标题没有多大帮助,那么道歉。

基本上我有以下代码功能(不是我的)。

function expandElement(container, before, afterLength, animate) {
    if(animate == undefined) animate = true;
    if(animate) container.childElements().each(function (x) { Effect.SlideUp(x); });
    var nextTokens = getNextTokens(before, afterLength);
    var holderDiv = document.createElement('div');
    nextTokens.each(function(token) {
        var newBefore = before + token[1];
        var newAfter = afterLength - token[0].length;
        var newHTML = '<div><div><a href="#" onclick="Effect.SlideUp(this.up(\'div\'), {duration: 0.25}); return false">[x]</a> ' + newBefore.escapeHTML() + (newAfter > 0 ? '<a href="#" onclick="expandElement(this.up(\'div\', 1), &quot;' + newBefore.escapeHTML() + '&quot;, ' + newAfter + '); return false">' + input.substr(input.length - newAfter).escapeHTML() + '</a>' : '') + '</div></div>';
        var newElement = holderDiv.insert({bottom: newHTML});
    });

    container.insert({ bottom: holderDiv });
    if(animate) {
        holderDiv.hide();
        Effect.BlindDown(holderDiv);
    }
}

原始编码器设计了它,所以你必须点击&#34;令牌的下一部分&#34;然后它会揭示它。正如线上所见:

&#34; var newHTML =&#39; .....&#34;

但是我想要取消这个功能,并从一开始就显示所有可能的令牌。

任何人都可以就此提供任何帮助吗?

此致

jmcall10

1 个答案:

答案 0 :(得分:0)

我认为你只需要删除onclick属性。所以尝试改变这样:

...
var newHTML = '<div><div><a href="#">[x]</a> ' + newBefore.escapeHTML() + (newAfter > 0 ? '<a href="#">' + input.substr(input.length - newAfter).escapeHTML() + '</a>' : '') + '</div></div>';
...

并检查它是否按预期工作。如果没有让我知道。

记得在更新js或其他静态文件后在浏览器上完成刷新{“CTRL + F5”}