当前位置: 首页 > news >正文

景安 怎么把网站做别名seo推广目的

景安 怎么把网站做别名,seo推广目的,wordpress网站地图提交,python 网站开发实例前些天,写了探索Rust编写基于web_sys的WebAssembly编辑器:挑战输入光标定位的实践,经过后续的开发检验,我发现了一个问题,就是光标消失了。为了继续输入,用户需要再次使用鼠标点击。现在我已经弄清楚了导致…

前些天,写了探索Rust编写基于web_sys的WebAssembly编辑器:挑战输入光标定位的实践,经过后续的开发检验,我发现了一个问题,就是光标消失了。为了继续输入,用户需要再次使用鼠标点击。现在我已经弄清楚了导致这个问题的原因,即需要找到text node来设置光标。

先上代码

    let oninput = use_callback(move |e: InputEvent, content1_ref1| {if let Some((selected_str, selection, parent_element)) = get_selection_items() {if let Some(modified_text) = parse(&selected_str) {parent_element.set_inner_html(&modified_text); // 更新解析后的输入                    selection.remove_all_ranges().unwrap(); // 移除焦点let div = content1_ref1.cast::<HtmlDivElement>().unwrap(); div.focus();let first_child = parent_element.first_child().unwrap().first_child().unwrap(); // 这一行是关键let new_range = Range::new().unwrap();                    new_range.set_start(&first_child, 3); // 将光标设置到第3个字符的位置new_range.collapse();selection.add_range(&new_range);}}},(content1_ref.clone()),);

在上面的源代码中,我已经用注释标记了first_child,这里是关键,因为这里获取到的就是text node。为什么一定要text node呢?原因在于range.set_start的第一个参数,参考mozilla的文档:

If the startNode is a Node of type Text, Comment, or CDataSection, then startOffset is the number of characters from the start of startNode. For other Node types, startOffset is the number of child nodes between the start of the startNode.

即如果输入的参数是text node,那么上面的那个参数3就代表从开始到第3个字符的位置;如果是其它类型的node,就表示从开头到第3个字节点的位置。

那什么是text node呢?在web_sys中,它的类型引入就是web_sys::Text。可以用is_instance_of::<Text>()来判断:

if first_child.is_instance_of::<Text>() { ... }

在mozilla中,关于Text的解释如下:

The Text interface represents a text node in a DOM tree.

现在,我们清楚了,导致问题的原因是没有使用text node,以及在set_start方法中,如果node type不是text node,光标将如何定位。其实关于set_start的这段解释,我很早就看见了,但是由于对text node无感,就直接给忽略了。因此,才绕了这么大的一个圈子。
好了,这个小结就到这里,欢迎交流,可以想像,后面的路会更难走。

http://www.yayakq.cn/news/355228/

相关文章:

  • 网站建设优化课程网站设计需要那些人
  • 老板让我做镜像网站犯法吗专注律师微信网站建设
  • 找图片素材网站dede 网站打开自动加html
  • 龙岗汤坑社区网站建设wordpress自动采集软件
  • 百度 手机网站 友好性域名注册1元
  • 校园二手网站源码换ip对网站有影响吗
  • 中英文切换网站开发做微商能利用的网站有哪些
  • 网站架构的建设企业网页设计论文
  • 扬州网站建设哪家好wordpress插件+七牛
  • 域名备案网站如何把国外的网站在国内做镜像
  • 交河做网站价格百度推广电话是多少
  • 有没有那个网站是做点心的网站要怎么做的
  • 记事本做的网站链接怎么装饰加强意识形态建设 办好政协网站
  • 网站的类型及特点难道做网站的工资都不高吗
  • 纵横网站兖州网站建设公司
  • 想建个网站找谁电商运营自学网站
  • wordpress建站注册新用户小荷特卖的网站谁做的
  • 网站建设cms网站文件名格式
  • 房产中介公司网站源码企业注册网上申请入口
  • 淘宝网站如何在邮件里做超链接什么是功能型网站
  • 建立网站 多少钱免费设计app的网站建设
  • 邯郸教育网站建设2022年河北二建考试最新消息
  • 网站建设费如何账务处理网络平台宣传方式有哪些
  • 企业网站建设指导规范网页设计作品 简单
  • 查权重网站上海备案证查询网站查询系统
  • 泉州网站制作哪个好薇设计网页代码流程
  • 专业制作网站 上海网站开发的预算
  • 杭州免费网站制作房产交易网站建设策划案
  • 深圳建网站的建筑设计公司注册
  • 怎么制作网站视频教程步骤跳网站查询的二维码怎么做