小编T.J*_*der的帖子

使用命名函数时如何处理事件删除将阻碍对上下文状态的访问

我正在侦听文件输入中的更改,并且每次需要“监听”某些内容后,都需要删除该侦听器。

问题在于,使用命名函数(无法删除匿名函数上的侦听器)时,我失去了上下文,因此无法访问状态。这是基本版本:

$ImgEl.on('change', () => {
  const reader = new FileReader();
    reader.onloadend = (e) => {
        // Do some stuff with state
        this.state.whatever;
    }
}
Run Code Online (Sandbox Code Playgroud)

通过将此代码与箭头功能配合使用,我可以维护上下文并因此可以访问自己的状态。但是,如果使用命名函数,则可以删除监听器,但会丢失上下文。

还有其他人处理过吗?

javascript jquery

0
推荐指数
1
解决办法
22
查看次数

计算 2 个字符串之间添加的字符(即使删除了其他字符串)

我有一个将要更改的初始字符串,我想知道添加了多少新字符(即使删除了其他字符)。

举个例子:

初始字符串==>“我非常喜欢编程”
更改字符串==>“我曾经喜欢编程”


变化:


“习惯”添加了 8 个字符
"这么多" 8 个字符已删除

我想要的结果是添加的字符数为 8。

有人可以帮我吗?

javascript string algorithm reactjs calculation

0
推荐指数
1
解决办法
45
查看次数

继承:如果默认为 private,为什么这两个示例的工作方式不同?

我正在处理 C++ 中的继承问题。据我所知,如果您不指定,B 将始终从 A 继承 private。

那么为什么这段代码可以工作:

struct A {};
struct B : A {};

int main(void)
{
    A b = B();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

但这会产生“A 是 B 的不可访问的基点”错误:

struct A {};
struct B : private A {};

int main(void)
{
    A b = B();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我希望它们是一样的?

c++ inheritance

0
推荐指数
2
解决办法
76
查看次数

在div中验证href

我有这种类型的标记

<div class="box" href="pic-gallery/img01.jpg">
  <div>----------</div>
</div>
Run Code Online (Sandbox Code Playgroud)

现在,当我要验证它时,它显示错误,因为不允许在div内部使用href.那么如何验证这个错误?我曾经使用过

<div class="box" onclick="href='pic-gallery/img01.jpg'"></div>
Run Code Online (Sandbox Code Playgroud)

但它没有打开图像,因为图片正在通过fancybox.所以请帮助我.任何帮助和建议将是非常值得注意的.

html validation markup javascript-events fancybox

-1
推荐指数
1
解决办法
3081
查看次数

如何从单个数组创建数组集合?

说我有一个大阵列

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18]
Run Code Online (Sandbox Code Playgroud)

并希望将其拆分为一组像n元组一样的元组

[[1,2], [3,4], [5,6], [7,8], [9,10], [11,12], [13,14] /*, ... */ ] // (for n=2)
Run Code Online (Sandbox Code Playgroud)

有没有简单的方法来实现这一目标?特殊情况n = 2对我来说已经足够了.

javascript arrays underscore.js

-1
推荐指数
2
解决办法
615
查看次数

HTML 标签名称而不是 ID?

我正在制作网站,在那里我创建了许多在输出中分配的标签,如下所示

使用帖子末尾的小提琴链接

<!-- lets say that I want to make a kind of board to show some game clans or... whatever -->

<label class='team' name='ally'>Madcowz</label><BR>
<label class='team' name='ally'>Fluffy Unicorns</label><BR>
<label class='team' name='enemy'>Blue bastards</label><BR><BR>

<b>JS stuff:</b>
<div id='printSomeOutputHere'></div>

<!-- The problem is that the NAME tag does not exist for label in this case: -->
<!-- I can't use ID because ID should be unique values -->
<script>
var teams = $(".team");
for(i=0; i<teams.length; i++)
{
    document.getElementById('printSomeOutputHere').innerHTML += teams[i].name + ": …
Run Code Online (Sandbox Code Playgroud)

html javascript jquery

-1
推荐指数
1
解决办法
2570
查看次数

如何使用replaceAll从String中删除某些html标签?

我有一个包含不同种类的html标签的字符串.

我想删除所有<a></a>标签.

我试过了:

string.replaceAll("<a>", "");
string.replaceAll("</a>", "");
Run Code Online (Sandbox Code Playgroud)

但它不起作用.这些标签仍保留在字符串中.为什么?

html java tags parsing replaceall

-1
推荐指数
1
解决办法
1377
查看次数

无法获取document.getElementByID("testclick").addEventListener工作

我在做一些非常愚蠢的事情,我很确定; 已经好几个小时了,我开始失去生活的意志.更糟糕的是我之前在画布上成功使用了它,但即使这个例子也没有帮助我.

html文件(index.html)

<body style="margin: 0px;">
    <div ID="testclick">
        <style>
            #testclick{
            width:100px;
            height:100px;
            background-color:black;
            }
        </style>
    </div>

    <script language="javascript" src="test.js" ></script>
</body>
Run Code Online (Sandbox Code Playgroud)

javascipt文件(test.js)

(function(){
var el = document.getElementByID("testclick");
el.addEventListener("click", sockClicked, false);

function sockClicked(){
    console.log("HAR");
};
})();
Run Code Online (Sandbox Code Playgroud)

错误消息:未捕获TypeError:undefined不是函数

我用Google搜索并阅读了几个与此错误相关的内容与addEventListener相结合.我还阅读了几个关于如何使用getElementByID以及addEventListener的教程.但仍然没有快乐.有人请救我脱离这无尽的动荡.(

html javascript getelementbyid addeventlistener

-1
推荐指数
1
解决办法
218
查看次数

条件运算符值的sizeof?:

#include <stdio.h>  
int main()  
{ int x = 1;    
short int i = 2;   
float f = 3; 
  if(sizeof((x == 2) ? f : i) == sizeof(float))    
  printf("float\n");  
  else if (sizeof((x == 2) ? f : i) == sizeof(short int))     
  printf("short int\n");    
}  
Run Code Online (Sandbox Code Playgroud)

这里的表达式((x == 2) ? f : i)计算i类型为short int的类型.. short int = 2的大小,而sizeof float是4 byts.output应该是"short int"但是我得到输出"float"

c

-1
推荐指数
1
解决办法
460
查看次数

如何使用 onClick 从 JSX 组件向反应函数组件传递参数

这是我的大代码中的一个非常小的片段:

import React from "react";
const Home = () => {
    return (
      imgFilter.map((imgs) => {
        return ( <
          Col sm = "3"
          xs = "12"
          key = {
            imgs.id
          }
          className = "trend-image" >
          <
          img src = {
            imgs.path
          }
          alt = {
            imgs.id
          }
          className = "img-fluid"
          onClick = {
            Price
          }
          /> <
          /Col>
        )
      });
    }
Run Code Online (Sandbox Code Playgroud)

在这段代码中,您可以在一行中看到它是这样写的onClick={Price}。这里的 Price 是我正在导入的一个函数组件。现在,Price 旨在接受争论。在这里,我想在imgs.id单击图像时将价格传递给价格。我该怎么做

javascript jsx reactjs

-1
推荐指数
1
解决办法
97
查看次数