gpt4 book ai didi

javascript - 如何检测文本中单个字符的 onclick() 或类似内容?

转载 作者:数据小太阳 更新时间:2023-10-29 06:12:59 30 4
gpt4 key购买 nike

我是 Javascript 的新手,想通过单击单个字符来修改文本字符串。字符串是:0000 0000 0000 0000 代表一个二进制数。我希望能够通过直接单击文本将 0 切换为 1

我曾尝试使用 onclick(),但只设法检测到整个段落的点击。检测单击哪个字符的适当方法是什么?

最佳答案

对于这么少的字符,最简单的方法是将每个字符放在自己的范围内:

<span>0</span><span>0</span><span>0</span><span>0</span> <span>0</span><span>0</span><span>0</span><span>0</span> <span>0</span><span>0</span><span>0</span><span>0</span>

我还将所有这些都放在一个容器中,并将 click 事件挂接到容器而不是单个 span 上,因此:

<div id="container">
<span>0</span><span>0</span><span>0</span><span>0</span> <span>0</span><span>0</span><span>0</span><span>0</span> <span>0</span><span>0</span><span>0</span><span>0</span>
</div>

然后连接起来:

var container = document.getElementById("container");
if (container.addEventListener) {
container.addEventListener('click', clickHandler, false);
}
else if (container.attachEvent) {
container.attachEvent('onclick', function(e) {
return clickHandler.call(container, e || window.event);
});
}

在您的点击处理程序中,使用 event.target 找出点击的范围:

function clickHandler(event) {
var span = event.target;
// Do something with the span, such as look at its `innerHTML` and
// see if it's "0" -- if so, make it "1"; if not, make it "0"
}

更多探索:


正如您在上面看到的,我不得不解决一些浏览器使用标准 addEventListener,而其他浏览器(IE8 和更早版本)使用 attachEvent 的事实。我推荐使用像 jQuery 这样好的 JavaScript 库。 , Prototype , YUI , Closure , 或 any of several others .它们为您解决了这些浏览器不一致问题,并添加了许多非常有用的实用程序功能,因此您可以专注于您正在尝试做的事情。

例如,使用 jQuery 编写的处理程序代码:

$("#container").on("click", "span", function() {
// `this` refers to the span that was clicked; you can use
// `innerHTML` as above, or wrap it in a jQuery instance
// like this:
// var $this = $(this);
// ...and then use jQuery's `html` function to both
// retrieve and set the HTML.
});

关于javascript - 如何检测文本中单个字符的 onclick() 或类似内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9531149/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com