在 Azure Blob 存储上下载容器

有没有办法从 Azure Blob 存储下载容器及其所有内容? 我使用 CloudBerry Explorer for Azure Blob Storage 来管理我的容器、文件和文件夹。 我有一个骗局...

回答 4 投票 0

从 Delta Lake 手动删除数据文件

我已经从 Delta Lake 手动删除了一个数据文件,现在以下命令出现错误 mydf = Spark.read.format('delta').load('/mnt/path/data') 显示(mydf) 错误

回答 4 投票 0

ActiveMQ 会话 ID (STOMP)

我使用 STOMP 创建了一个持久订阅者。当我在 ActiveMQ Web 控制台中查看我的主题的“活动订阅者”页面中的订阅者时,它的会话 ID 为“-1”。什么是

回答 1 投票 0

React - contentEditable 属性的 onChange 事件

我想使用像textarea一样保存用户输入。 我听说我需要使用 onInput 侦听器在输入更改时触发 fn 。 问题是... 我想使用 <div onInput={onChange} contentEditable> 来像文本区域一样保存用户输入。 我听说我需要使用 onInput 侦听器在输入更改时触发 fn 。 问题是当我用 React 状态更新文本时,它会不断地将插入符号移动到文本开头 这是我的代码 import React from "react"; const App = () => { const [value, setValue] = React.useState("I am edittable"); const onChange = (e) => { const html = e.target.innerHTML; setValue(html); }; return ( <div onInput={onChange} contentEditable> {value} </div> ); }; export default App; 代码沙盒 https://codesandbox.io/s/react-editable-cell-pwil6?file=/src/App.js:0-310 我该如何解决它? 这有一个解决方案,但 onChange 不注册该事件。它不会改变状态。不要使用它! 我的建议是使用 onInput,但不要使用状态变量作为可编辑元素的innerHTML。 设置一些默认值,contentEditable将处理innerHTML的变化,而onInput将根据innerHTML的值处理状态的变化。 如果你想确保innerHTML不会为空,你可以添加 onBlur 事件,该事件检查它是否为 ==="" 并将用默认值或其他值更新它,等等。 这已经很旧了,但我刚刚自己解决了这个问题,我想我会分享它。 onChange 永远不会触发,而 onInput 也不是最好的方法。你需要用 onFocus 和 onBlur 来模拟 onChange。 onFocus发生时将innerHTML的值复制到变量。 当onBlur发生时,针对变量测试innerHTML以查看它是否发生变化。如果是这样,请执行 onChange 操作。你需要这样的东西: const onFocus = (e) => { val_start = e.target.innerHTML; }; const onBlur = (e) => { if(val_start !== e.target.innerHTML) { //Whatever you put here will act just like an onChange event const html = e.target.innerHTML; setValue(html); } }; contentEditable 将使 div 内的内容可编辑。 您可以使用onInput代替使用onBlur,这样闪烁的光标就不会不断移动到文本开头。 您对文本所做的任何更改都将在屏幕上可见,并且一旦您将焦点移出元素,状态就会更新。 <div onBlur={onChange} contentEditable> {value} </div> 使用 React Hook Form 2023. 实现 Typescript。 tldr;下面为那些匆忙的人完成了代码。 注意:下面的代码是使用 zod 的较长代码的简化版本。为了简单起见,我删除了一些部分。 export const EmailForm: React.FC = () => { const {register, handleSubmit, formState: {errors}, setValue} = useForm(); // Optional: for when the <label> gets clicked const emailRef = useRef<HTMLDivElement>(null); const onSubmit = async (data: FieldValues) => { // Send data here. In catch statement use setError or formError console.log(data); } const onInput = (e: FormEvent<HTMLInputElement>) => { setValue('email', e.currentTarget.innerText); } return ( <form onSubmit={handleSubmit(onSubmit)}> {/* The actual field which react hook form validates */} <input type="hidden" {...register('email')} /> <div> <label onClick={() => emailRef.current?.focus()}>Email</label> <div contentEditable onInput={onInput} ref={emailRef} role="textbox" tabIndex={0}></div> <div>{errors.email?.message}</div> </div> <div> <button type="submit">Submit</button> </div> </form> ); } 本质上,您想要的是使 div 表现得像 <textarea>,同时保留功能。这样做的好处各不相同,但我通常这样做,这样它就会在用户键入时自动扩展。 使用 React Hook 表单注册 由于这是 React,我使用 RHF 来管理内容,因此我们需要在用户键入时填充一个隐藏字段。这也可以是 <textarea>,但只需确保它不可见即可。 <input type="hidden" {...register('email')} /> 处理数据 A <div> 不知道什么是 onChange 事件,但它对 onInput 事件响应良好,因此请使用它。还添加 role 和 tabIndex 以帮助提高可用性,如 在此 so 中所示。 <label onClick={() => emailRef.current?.focus()}>Email</label> <div contentEditable onInput={onInput} ref={emailRef} role="textbox" tabIndex={0}></div> 可选地,如果您想让 <label> 在像标签一样单击时聚焦在 <div> 上,则应使用 useRef 使其正常工作: const emailRef = useRef<HTMLDivElement>(null); 现在,每次用户输入内容时,onInput回调都会触发setValue函数,允许 RHF 访问数据,就像访问任何其他字段一样。这反过来又有助于生成错误消息: <div>{errors.email?.message}</div> 最后,当提交表单时,会触发 onSubmit 回调。从那里您可以将其发送到您的服务器。 这就是你需要具备的: <div onChange={onChange} contentEditable> 而不是 onInput 应该是 onChange 演示:https://codesandbox.io/s/react-editable-cell-forked-ey7o1?file=/src/App.js

回答 5 投票 0

选中复选框时,更改div的背景颜色

我想做的是,当选中复选框时,更改 div 的背景颜色,当未选中时,删除背景颜色。我怎样才能使用 jquery 做到这一点? 我想做的是,当选中复选框时,更改 div 的背景颜色,当未选中时,删除背景颜色。我怎样才能使用 jquery 做到这一点? <div class="checkbox-container"> <input type="checkbox" class ="checkbox-border" id="personal-info-checkbox"> <label for="personal-info-checkbox"> Mark as reviewed and acknowledged </label> </div> 使用父选择器和 .removeclass 我不知道如何选择我的 div 并使用 jquery 关闭和打开颜色。 为此你不需要 jQuery 您只能使用 css 来做到这一点。 .checkbox-container:has(input:checked) { background-color: red; } :has chromium、safari 支持伪类。 对于 Firefox,需要启用标志。 在 mdn 了解更多信息::有伪类 向 change 添加一个 input 事件监听器,根据是否选中来设置其最接近的父级 div 的背景颜色: $('input[type="checkbox"]').change(function(){ $(this).closest('div').css('background-color', this.checked ? 'green' : 'white') }) <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div class="checkbox-container"> <input type="checkbox" class ="checkbox-border" id="personal-info-checkbox"> <label for="personal-info-checkbox"> Mark as reviewed and acknowledged </label> </div> 以下是如何执行此操作的示例 $(function() { $("input[type=checkbox]").click( () => { $("div").toggleClass("background"); }) }); .background { background: blue; } <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div style="height:4em;"> Change colors<input type="checkbox" /> </div> 有多种方法可以做到这一点: CSS(在撰写本文时,浏览器支持有限), jQuery(以及其他库),以及 原生 JavaScript。 下面的例子代码中有解释性注释: // using jQuery, we select the relevant element via its class, and use the on() // method to bind the anonymous function as the event-handler for the 'change' // event: $('.checkbox-container.with-jQuery').on('change', function(){ // here we find the <input> element descendant with find(), and then use the // is() method to test that element to see if it matches the :checked pseudo- // class; this returns a Boolean true/false which is cached in the 'checked' // variable: let checked = $(this).find('input').is(':checked'); // here we use toggleClass() to toggle the 'checked' class-name on the element, // and use the 'checked' variable to ascertain whether the class should be // added/retained (if the Boolean is true) or removed/not-added (if the Boolean // is false): $(this).toggleClass('checked', checked); }); // using JavaScript we use document.querySelector to retrieve the element // with the listed classes; and use EventTarget.addEventListener() to bind the // anonymous Arrow function as the event-handler for the 'change' event: document.querySelector('.with-JavaScript.checkbox-container').addEventListener('change',(evt)=>{ // we cache a reference to the current element (the <div>): let current = evt.currentTarget, // we find the <input> descendant, and access its checked property to // obtain a Boolean true (if checked) or false (if not-checked) and // store that Boolean in the 'checked' variable: checked = current.querySelector('input').checked; // here we use Element.classList.add() to add the 'active' class-name, // with the checked variable to determine if it should be added/retained // (if true) or removed/not-added (if false): current.classList.add('active', checked); }); :root { --checkedColor: lime; } /* here we select the element via classes, and use :has() to check if it has a descendant element which matches the enclosed selector: */ .with-CSS.checkbox-container:has(input:checked) { /* if so, we set the --checkedColor custom property as the background-color of the element: */ background-color: var(--checkedColor); } .with-jQuery.checkbox-container.checked { background-color: var(--checkedColor); } .with-JavaScript.checkbox-container.active { background-color: var(--checkedColor); } <!-- each wrapper <div> has a 'with-...' class applied in order to identify which approach is being taken: --> <div class="checkbox-container with-CSS"> <!-- an id must be unique, to that end - because there are three checkboxes in this example - the id has been modified, as has the corresponding <label> element's 'for' attribute: --> <input type="checkbox" class="checkbox-border" id="personal-info-checkbox1"> <label for="personal-info-checkbox1"> Mark as reviewed and acknowledged </label> </div> <div class="checkbox-container with-jQuery"> <input type="checkbox" class="checkbox-border" id="personal-info-checkbox2"> <label for="personal-info-checkbox2"> Mark as reviewed and acknowledged </label> </div> <div class="checkbox-container with-JavaScript"> <input type="checkbox" class="checkbox-border" id="personal-info-checkbox3"> <label for="personal-info-checkbox3"> Mark as reviewed and acknowledged </label> </div> 参考资料: 浏览器兼容性: :has()。 CSS: CSS 自定义属性。 :checked。 :has()。 var()。 JavaScript: document.querySelector()。 Element.classList API. jQuery@ is()。 on()。 toggleClass()。 试试这个希望对你有帮助 <!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script> <script> $(document).ready(function(){ $("#personal-info-checkbox").click(function(){ if($(this).is(":checked")){ $(this).parent().addClass("color-blue"); }else { $(this).parent().removeClass("color-blue"); } }); }); </script> <style> .checkbox-container { padding:20px; } .color-blue { background-color:blue; } </style> </head> <body> <div class="checkbox-container"> <input type="checkbox" class ="checkbox-border" id="personal-info-checkbox"> <label for="personal-info-checkbox"> Mark as reviewed and acknowledged </label> </div> </body> </html> 当一个输入被检查并改变颜色时,我需要另一个输入div的背景恢复原样...我不知道如何在JS中做到这一点..我有三个输入,在检查和更改时必须将颜色更改为红色他们是这样。但我需要当其中一个被检查时,另一个的背景回到我的第一个颜色......这可能吗?

回答 6 投票 0

如何使用环境路径找到可能不完全限定的文件?

我有一个可执行文件名称,例如“cmd.exe”,需要解析它的完全限定路径。我知道该 exe 出现在 PATH 环境变量中列出的目录之一中。有没有办法

回答 6 投票 0

ANTLR 未生成 ParserBase

我是 ANTLR 新手,正在研究 CPP14 语法。我尝试使用 antlr4 -D语言=Python3 CPP14Lexer.g4 antlr4 -D语言=Python3 CPP14Parser.g4 然后使用以下驱动代码: 小鬼...

回答 1 投票 0

使用 Terraform 在 AWS 上设置最简单的 Web 服务器

您可以创建的最简单的 terraform 文件是什么,用于放置 Apache 和 EC2 并为其提供互联网上的公共 IP? 我发现这个方法有效。但我想知道是否有更简单的东西。 # 网络...

回答 2 投票 0

将常规清理与特定场景相结合的正则表达式

我有一个执行 unicode 清理的正则表达式; re.sub(r'[^\w\s]', '', 字符串) 我将如何添加空白清理的特定场景? 例如:“hello world”-->“helloworl...

回答 1 投票 0

从 GitHub Actions 工作流程创建环境所需的权限

我有一个自动设置来创建 git 存储库,但此设置无法创建 GitHub 环境。 不过,作为设置的一部分,初始工作流程会运行,这应该会创建这些环境......

回答 1 投票 0

在函数中使用 terra::ifel

我是 terra 的新手,必须通过一组拜占庭式的嵌套条件循环大量的 rast 对象。我已经使用 ifel 全部写出来了,但不确定如何创建一个我可以使用的函数......

回答 1 投票 0

乌龟git如何获取commit信息?

这是一个奇怪的问题。我需要过滤掉存储库中任何提交消息的某些部分(它是在某些迁移后自动添加的长哈希)。 由于我(以及我的团队)正在使用 Tortoise git,所以我

回答 1 投票 0

我看到很多使用“Foo ^ bar”的 C++ 示例 - 什么是“^”?

这与 .NET 相关吗? 它看起来像是某种指针,有什么区别? 编辑: 我实际上知道它是 XOR 运算符,但是请查看此页面中的示例。 void objectCollection()...

回答 4 投票 0

如何使用嵌套循环来循环 .yml 文件列表,然后循环每个文件中的列表

我有一个保存为变量的 yaml 文件列表,每个文件中都有一个名为“virtual_servers”的列表,我需要循环并执行 Ansible 模块。 列表示例: 文件列表:[/

回答 2 投票 0

我可以覆盖细节摘要元素上的 ARIA 角色吗?

所以,我将标题标签(h1、h2、h3、h4、h5、h6)包装在 和 中。问题是他们默认失去了“标题”ARIA 角色。来自 MDN 文档: 警告: 因此,我将标题标签(h1、h2、h3、h4、h5、h6)包装在 <details> 和 <summary> 中。问题是他们默认失去了“标题”ARIA 角色。来自MDN 文档: 警告:由于该元素具有按钮的默认角色(这会剥夺子元素的所有角色),因此此示例不适用于屏幕阅读器等辅助技术的用户。遗嘱的角色已被删除,因此不会被视为这些用户的标题。 但是你不能通过如下重写来轻松解决这个问题吗?我问的原因是我在谷歌搜索中没有看到这个技巧,只是有很多关于细节摘要元素被破坏和无法修复的抱怨。所以也许我错过了一些东西。 <details> <summary role="heading" aria-level="2"><h2>Heading</h2></summary> Lorem ipsum... </details> /元素是一个很好的语义元素,它为您提供了一些“免费”的内置可访问性,但正如您所注意到的,它确实有局限性。 本质上是一个。这是一个具有 aria-expanded 属性的按钮。如果您覆盖 的角色,那么它将不再作为按钮宣布,这意味着屏幕阅读器用户可能不知道它是一个交互式元素。 在 上听到“标题”会有点令人困惑,特别是因为内在的 aria-expanded 仍然被宣布。屏幕阅读器用户不会期望标题是可展开/可折叠的,因为标题不应该是交互式元素。 不建议覆盖元素的默认本机语义。也就是说,如果某个元素具有默认的 role,请勿覆盖该角色。 ARIA使用的第二条规则说: 不要更改本机语义,除非确实必须这样做。 一个有趣的旁注是,元素的“内容模型”表示可以在其中使用标题。 内容模型:短语内容,可选择与标题内容混合。 因此从技术上讲,您应该能够在 内包含标题,但并没有得到一致支持。 NVDA(PC 屏幕阅读器)will 宣布嵌入 中的标题。它还会宣布在 中嵌入 ,尽管我强烈反对这样做。 JAWS(另一种 PC 屏幕阅读器)将不会宣布嵌入 中的标题(或表格)。我认为这是一个 JAWS 错误,因为如上所述, 可以有标题。 总之(没有双关语),我不建议将标题或任何其他语义 html 元素放在 元素内。我不知道您的页面是如何组织的,但可能的替代方案是标题为 outside/before /。 <h2>important stuff here</h2> <details> <summary>normal text</summary> lorem ipsum </details>

回答 1 投票 0

如何在 Laravel 中创建 Trait

如果我想在我的模型上使用此特征,在哪里制作文件 如果我想在里面包含这个特征,这个文件应该是什么样的: 特征格式日期 { 受保护的 $newDateFormat = 'd.m.Y H:i';...

回答 3 投票 0

在 Access 中更改饼图系列的填充颜色

我有一个基于此查询的图表。 从 qryAnalisiOperazione 中选择 IDtrattativa、NomeCognome、[Ricavi] AS Valore、“Redditività”AS CostiRicavi 联盟 选择 IDtrattativa、NomeCognome、[c...

回答 1 投票 0

无法将 PHP STOMP 连接到远程 ActiveMQ

代码 尝试 { $stomp = new Stomp('tcp://xx:xxx:xxx:xxx:61616','admin','admin'); // 连接到远程服务器 } catch(StompException $e) { die('连接失败:' . $e->getMessage()...

回答 1 投票 0

更改 ggplot2 boxplot 中胡须的颜色

我正在使用 ggplot2 制作箱线图。我可以创建盒子,但我想更改其中胡须的颜色。本质上,我希望胡须与盒子的颜色相匹配,但是...

回答 1 投票 0

如何在C#中设置NMS重新投递策略

我正在使用 C# 中的 ActiveMQ 的 NMS 客户端库。我不明白如何在代码中设置重新投递政策。我尝试在消费者端的代码中设置属性,但我无法

nms
回答 1 投票 0

© www.soinside.com 2019 - 2023. All rights reserved.