从车把助手返回 html 对象

2024-04-07

我需要从车把助手发送一个 html 对象,如下所示:

    Handlebars.registerHelper('helper', function () {

       //Create an input object
       var inp=$('<input type="text" name="name">');

       //How to return 'inp' object without using Handlebars.SafeString
       return inp;

    });

我知道我可以使用“Handlebars.SafeString()”返回 html 字符串,但这对我来说没有用,我需要传递 html 对象并为其分配一些事件。

是否可以?


正如 dandavis 所评论的,使用 Handlebars 你不能模板化对象,只能模板化字符串。但是,您可以使用 MutationObserver 将元素添加到 DOM 后获取它们。我创建了一些助手来执行此操作,请参阅jq帮手渲染后栏 https://github.com/ekuusela/post-render-bars。也可以看看这个答案 https://stackoverflow.com/a/9145781/1630906针对不同方法的类似问题。

这是一个demo http://ekuusela.github.io/post-render-bars/example/withjquery.html#对于渲染后栏,请检查“在模板中定义 jQuery 元素”标题下的示例。

助手使用变异观察者 https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver,这里是浏览器支持 http://caniuse.com/#feat=mutationobserver信息,请参阅精简版网络组件 http://webcomponents.org/polyfills/如果需要的话,可以使用polyfill。

相关代码简单说明:

watch.js https://github.com/ekuusela/post-render-bars/blob/master/watch.js定义一个函数forHtml(html, callback)当 DOM 中遇到给定的 html 时,它会触发回调。它修改 html 以暂时拥有一个使其独一无二的类。

jQueryHelpers.js https://github.com/ekuusela/post-render-bars/blob/master/jQueryHelpers.js定义助手jq。助手使用watch.forHtml函数来监视由助手定义的块,并使用 jquery 元素作为参数调用您传递到模板的函数。

这是我链接的示例模板的简化版本:

<p>button with a handler: {{#jq setHandler}}<button>try me</button>{{/jq}}</p>

And js:

var context = {
    setHandler: function(element) {
        element.on('click', function() { 
            alert('clicked');
        });
    }
};
var html = template(context);
// append html somewhere and the setHandler will be invoked
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从车把助手返回 html 对象 的相关文章

  • jQuery 选择 # id 以单词为前缀,计数器为后缀

    有没有办法用 jQuery 选择所有带有前缀 my 和后缀 0 9 的 id 像这样的 my 1 4 还是可以用循环来实现 div div div div div div div div div div 第一个想法 似乎效果很好 div i
  • 动画进度元素值

    我有一个progress元素 该元素如下所示 div class container div div div
  • 如何使用 jest 模拟第三方库

    我正在开发一个node js应用程序使用nestjs我有一堂课叫LoggerService如下 export class LoggerService private logger Rollbar constructor this logge
  • 使用 CryptoJS 更改密钥 [重复]

    这个问题在这里已经有答案了 我正在使用 CryptoJS 来加密和解密文本 在这里 我只是获取消息并显示加密和解密消息 我使用DES算法进行加密和解密 这是我的 HTML 文件
  • Google Chrome 106 可拖动导致元素消失

    使用拖放元素时 绝对定位元素中包含的大多数其他元素都会从屏幕上消失 如果我调整窗口大小 这些元素会出现 但在开始拖动时会再次消失 我在最新版本的 Google Chrome 106 和 Beta 版本 107 0 5304 18 以及现在的
  • 如何流式传输 OpenAI 的完成 API?

    我想流式传输结果通过 OpenAI 的 API 完成 https beta openai com docs api reference completions 该文档提到使用服务器发送的事件 https developer mozilla
  • 是否有任何非轮询方式来检测 DOM 元素的大小或位置何时发生变化?

    很长一段时间以来 我一直在寻找一种方法来检测 DOM 元素的大小或位置何时发生变化 这可能是因为窗口调整了大小 或者因为向该元素添加了新的子元素 或者因为在该元素周围添加了新元素 或者因为 CSS 规则已更改 或者因为用户更改了浏览器的字体
  • 如何在 Angular 中从父组件访问子组件?

    I have mat paginator在子组件a中 如下所示 子组件 html
  • Typeahead.js substringMatcher 函数说明

    我只是在做一些研究Typeahead js这是一个非常酷的图书馆 感谢文档 我已经成功地获得了一个基本的示例 该文档也非常好 但是我试图弄清楚以下代码块实际上在做什么 var substringMatcher function strs r
  • 如何将送货地址复制到帐单地址

    我想知道是否可以将送货地址复制到帐单地址 当用户单击与送货地址相同的复选框时 送货地址值将被复制到账单输入字段 我完成了大部分部分 但我不确定如何将选择菜单 状态 值复制到帐单地址 我真的很感谢任何帮助 My code document r
  • IE11不监听MSFullscreenChange事件

    我正在尝试使用 Bigscreen js 在 IE11 中使用全屏 但 IE11 不监听 MS FullscreenChange 事件 document addEventListener MSFullscreenChange functio
  • 如何通过jquery更改元素的类名

    div class bestAnswerControl div class IsBestAnswer div div 我想补充一下 bestanswer some attribute 我想更换class IsBestAnswer div 到
  • Chartjs刻度标签位置

    尝试让 Y 轴刻度标签看起来像image https i stack imgur com XgoxX png 位于秤顶部且不旋转 缩放选项当前如下所示 scales yAxes id temp scaleLabel display true
  • :jQuery / Sizzle 中的 nth-of-type()?

    让我惊讶的是Sizzle http sizzlejs com jQuery 使用的选择器引擎 带有一个内置的 nth child 选择器 但缺少 nth of type 选择器 为了说明之间的区别 nth child and nth of
  • JavaScript onresize 事件多次触发

    我在尝试仅在触发 onresize 事件时运行一次函数时遇到一些麻烦 我已经看过这个问题DOM onresize 事件 https stackoverflow com questions 1500312 javascript onresiz
  • 如何获取 UIWebView 中元素的位置?

    我在 iPad 程序中加载了 html 的 UIWebView 通过使用 webkit column width 我将 html 分为几列 padding 0px height 1024px webkit column gap 0px we
  • 如何在 Google 地图 V3 中创建编号地图标记?

    我正在制作一张上面有多个标记的地图 这些标记使用自定义图标 但我还想在顶部添加数字 我已经了解了如何使用旧版本的 API 来实现这一点 我怎样才能在V3中做到这一点 注意 当您将鼠标悬停在标记上时 标题 属性会创建一个工具提示 但我希望即使
  • Jquery - 通过在字符串中构建 id 的 id 获取元素

    我在使用 jquery 元素时遇到问题 我正在 var 中构造名称 例如 var myId myGotId myId attr title changed myId 返回空 我想通过 id 获取我的元素 但动态构建我的 Id 连接字符串 编
  • 防止文本区域出现新行

    我正在开发聊天功能 使用 Vue 并使用文本区域作为输入 以便溢出换行 并且对于编写较长消息的用户来说更具可读性 不幸的是 当用户按下 Enter 键并提交时 光标会在提交之前移动到新行 从而使用户体验感觉不佳 关于如何使用普通 Javas
  • 使用异步调用时如何从 javascript 更新元刷新?

    我有一个系统 它使用元刷新来注销页面 该系统会在空闲用户后进行清理 不用担心 服务器也会导致会话超时 我开始通过 ajax 进行一些操作 不是真正的 xml 但这不是重点 我可以运行从异步请求返回的javascript 所以我想知道是否可以

随机推荐

  • 如何更改 Eclipse 以在 Javascript 编辑器中使用空格而不是制表符?

    我使用 Eclipse JavaScript 插件 我的文本编辑器设置为 插入空格作为制表符 这工作正常 直到我选择一个代码块并制表符或移动制表符 运行 JSLint 和 AARGghh 混合空格和制表符 我缺少什么吗 这可能吗 我不太确定
  • 生成随机颜色的问题 - asp.net 和 c#

    我需要在我的 asp net 应用程序中生成十六进制值的随机颜色来绘制图表 Random random new Random color String Format 0 X6 random Next 0x1000000 上面的代码生成随机颜
  • 当scapy和pypcap严重丢失时,如何嗅探python上的所有数据包?

    我尝试使用 python 在 Win10 上嗅探数据包 然而 我发现很多数据包实际上是被 scapy 丢弃的 例如 我从 ftp 下载一个 2 MB 的文件 wireshark 捕获了近 2000 个数据包 而 scapy 只捕获了 500
  • XAMPP的Shell在哪里?

    我正在使用最新版本的 XAMPP 和 XAMPP 控制面板 v2 5 2007 年 5 月 9 日 我想访问命令行来运行php q htdocs path to file php Problem 在我的 XAMPP 控制面板上 我没有看到S
  • 如何在 Linux 中进行惰性/延迟加载?

    我在 Windows 上运行得很好 应用程序加载我的插件 C Qt 我的插件进行智能搜索以查找已安装的 JRE 相应地设置库搜索路径 然后调用 JVM 中的一个函数来强制 jvm dll 将在此时加载 上一个问题 如何部署混合 C Java
  • 使用 xyz 数据框在 Python 中生成热图

    我有 x y z 数据存储在 pandas 数据框中 我想从中生成 2D 热图 深度图 df pd DataFrame np random randint 0 100 size 100 3 columns list XYZ 我不确定如何使用
  • 关闭 Rails 中的“updated_at”列

    我有一个简单的 日志 模型 它记录调用控制器操作的事实 该 日志 记录的条目应该创建一次并且永远不会更改 另外 我的数据库中会有很多这样的记录 因此 不需要 updated at 列 不需要浪费硬盘上的内存 我如何告诉 Rails 仅保留
  • SQL Server:不同行中两个日期的天数差异

    我正在使用 SQL Server 2012 目前正在编写一份报告 要求我找出两个日期之间的天数差异 基本上 对于一个特定的ReportID 我试图找出 ReportCompletedDate当 的时候ReportType PaperRece
  • Tkinter中Listbox和Radiobutton触发的事件

    我想创建一个由列表框所选项目的更改或单选按钮所选项目的更改触发的事件 是否可以 我使用这段代码 def getScript event state rb get listScript processor processor lb1 get
  • 从 numpy 数组中删除一些元素

    一个有趣的问题 我想从 numpy 数组中删除一些元素 但正如下面的简化示例代码所示 如 果不删除最后一个元素 它会起作用 但如果我们希望删除最后一个元素 它会失败 下面的代码工作正常 import numpy as np values n
  • DRY(不要重复自己)和 if 作业

    我想我忘记了一些明显的事情 但如果它验证了尽可能保持干燥的条件 我似乎找不到一种分配值的方法 一些代码来解释我的意思 a b gt 1 b c or even a a gt 1 a b 所以当然这里没什么大不了的 但是如果 a 要被方法调用
  • 外部模块中的 Rails Resque 未定义方法错误

    我在从 resque 工作线程中包含的模块调用方法时遇到问题 在下面的示例中 当我尝试调用时 我不断收到未定义的方法错误sayWorker 内部的方法 位于 TestLib 模块中 我已将代码简化为最基本的内容来说明问题 控制器 app c
  • 在 IIS 上运行 .NET Core

    我尝试在本地计算机上设置 IIS 来运行 NET Core API 我跟着https learn microsoft com en us aspnet core publishing iis https learn microsoft co
  • Mathematica:MathLink 错误消息

    我想我开始理解如何将用 C C 编写的函数链接到数学 我面临的问题是我不知道如何将错误消息从我的 C 包装器发送到 Mathematica 在谷歌搜索后我发现了这个MathLink 教程 http www edenwaith com dev
  • Oracle 和 SQL Server 保留关键字

    我需要 Oracle Database 10g 和 SQL Server 2008 保留关键字的列表 我的应用程序执行 DDL 语句 因此我需要根据保留字验证输入的表名 列名等 我知道我可以复制并粘贴网站上的文字 甲骨文10g http d
  • C# - 从串口缓冲区读取

    我正在尝试从 RS 232 端口读取数据 有谁有一个例子说明我如何从端口 缓冲区获取数据并确保我拥有所有数据 因为它可以是多行数据 我只是简单地读如下吗 string Rxstring port ReadLine Console Write
  • AdSense/发布商相关指标的 Google.Apis.Requests.RequestError

    从昨天开始 我们无法从 Analytics API 获取 AdSense 相关指标的数据 ga adsensePageImpressions ga adsenseAdsViewed ga adsenseCoverage 等 其他指标如GA
  • 有没有简单的方法来安装 RMagick?

    我正在尝试在我的 slicehost 上安装 RMagick Linux Hardy 我没有从源代码编译 而是这样做 sudo aptitude install y imagemagick sudo aptitude install y l
  • QVD 文件到 pandas DataFrame

    我尝试使用此将 QVD 文件加载到 pandas 数据框tool https github com korolmi qvdfile如下面的脚本所示 问题是它工作完美 但没有优化 而且它只提供了一种通过索引获取行的方法 这就是我被迫使用 fo
  • 从车把助手返回 html 对象

    我需要从车把助手发送一个 html 对象 如下所示 Handlebars registerHelper helper function Create an input object var inp