javascript - 让按钮多次触发 onclick 事件

标签 javascript

我在页面上有一个文本区域和一个按钮,该按钮调用一个函数来突出显示页面上 div 中的文本。但是,如果我更改框中的文本,新文本不会突出显示。我如何让这个按钮多次运行该功能?代码如下:

<script>

function highlight(text)
{
    inputText = document.getElementById("inputText")
    var innerHTML = inputText.innerHTML
    var index = innerHTML.indexOf(text);
    if ( index >= 0 )
    {
        innerHTML = innerHTML.substring(0,index) + "<span class='highlight'>" + innerHTML.substring(index,index+text.length) + "</span>" + innerHTML.substring(index + text.length);
        inputText.innerHTML = innerHTML
    }

}


</script>

@Html.TextArea("area")
<button onclick="highlight(document.getElementById('area').value)">Highlight</button>

<style>
    .highlight {
        background-color: yellow;
    }
</style>

<div id="inputText">
    The fox went over the fence
</div>

最佳答案

只需使用textarea的onkeyup事件,当输入新字符时,只需调用突出显示textarea内容即可。所以这与按钮点击事件无关。

关于javascript - 让按钮多次触发 onclick 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28933876/

相关文章:

Javascript 数学效率舍入

javascript - HTML5 游戏 - 如何使图像仅在特定的 x-y 坐标之间渲染?

javascript - 在 HTML 中显示一些简单的数据

javascript - 将自执行 JavaScript 函数放入 'normal' 函数中

javascript - 如何获得可调整大小和可折叠的侧边栏?

javascript - 验证停留在第一次验证

php - 第一个 DropDownList 更改后如何从数据库加载第二个 DropDown 列表

javascript - stopPropagation 阻止引导下拉菜单

javascript - 从 MySQL 检索数据到 JSP

javascript - 谷歌地图仅针对正纬度/经度值绘制,如果传递负纬度/经度,则重置 NaN