从车把助手返回 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 对象 的相关文章

  • 在 Wordpress 站点中进行 AJAX 调用时出现问题

    我在使用 Wordpress 站点功能的 AJAX 部分时遇到了一些问题 该功能接受在表单上输入的邮政编码 使用 PHP 函数来查找邮政编码是否引用特定位置并返回到该位置的永久链接 我的第一个问题是关于我构建的表单 现在我的表单操作是空白的
  • 可以使用 jQuery 或 Javascript 将图片的特定部分用作链接吗?

    我有这个想法 将图片 而不是文本 的各个部分链接到不同的页面或网站 并且我想在不实际创建不同的照片并将它们彼此靠近的情况下完成 这样看起来就像是一张完整的图片 这里有人知道如何使用 JavaScript 的变体 例如 jQuery 或纯 J
  • 除了更改标题之外,如何在 Firefox 中强制另存为对话框?

    有没有办法在 ff 中强制打开 www example com example pdf 的另存为对话框 我无法更改标题 如果您可以将文件以 Base64 格式输出到客户端 则可以使用 data uri 进行下载 location href
  • 从未用 @flow 标记的导入文件中获取类型定义

    TL DR我怎么告诉flow从未声明的导入模块导入类型定义 flow 加长版 流接缝能够从不使用流语法的文件中派生类型 请参阅示例 示例文件 flow js if Math random lt 0 5 var y hello else va
  • 为什么是 javascript:history.go(-1);无法在移动设备上工作?

    首先 一些背景 我有一个向用户呈现搜索页面 html 表单 的应用程序 填写标准并单击 搜索 按钮后 结果将显示在标准部分下方 在结果列表中 您可以通过单击将您带到新页面的链接来查看单个结果的详细信息 在详细信息页面中 我添加了一个 返回结
  • 标签获取 href 值

    我有以下 html div class threeimages a img alt Australia src Images Services 20button tcm7 9688 gif a div class text h2 a hre
  • 音频 blob 的 URL.createObjectURL 在 Firefox 中给出 TypeError

    我正在尝试从创建的音频 blob 创建对象 URLgetUserMedia 该代码在 Chrome 中可以运行 但在 Firefox 中存在问题 错误 当我打电话时stopAudioRecorder 它停在audio player src
  • 跟踪用户何时点击浏览器上的后退按钮

    是否可以检测用户何时单击浏览器的后退按钮 我有一个 Ajax 应用程序 如果我可以检测到用户何时单击后退按钮 我可以显示适当的数据 任何使用 PHP JavaScript 的解决方案都是优选的 任何语言的解决方案都可以 只需要我可以翻译成
  • 将div设置为隐藏,延时后可见

    我试图在 X 时间后 也许甚至在随机时间之后 但现在我们只做固定时间 在黑色背景上出现一个黄色方块 function initialSetup if document getElementById yellow null document
  • 表单计算器脚本基本价格未加载 OnLoad

    我的表单中有一个计算器来计算我的下拉选项选择 function select calculate on change calc input type checkbox calculate on click calc function cal
  • Firefox 书签探索未超过 Javascript 的第一级

    我已经编写了一些代码来探索我的 Firefox 书签 但我只获得了第一级书签 即我没有获得文件夹中的链接 e g 搜索引擎 雅虎网站 谷歌网站 在此示例中 我只能访问 Search engines 和 google com 不能访问 yah
  • 提交表单并重定向页面

    我在 SO 上看到了很多与此相关的其他问题 但没有一个对我有用 我正在尝试提交POST表单 然后将用户重定向到另一个页面 但我无法同时实现这两种情况 我可以获取重定向或帖子 但不能同时获取两者 这是我现在所拥有的
  • 如何判断 jquery 对话框是否打开? [复制]

    这个问题在这里已经有答案了 寻找通用案例解决方案来确定当前是否打开任何 jquery 对话框 有多个 试过 ui dialog content dialog isOpen true ui dialog dialog isOpen true
  • FireFox 中的自动滚动

    我的应用程序是实时聊天 我有一个 Div 来包装消息 每条消息都是一个 div 所以 在几条消息之后 我的 DOM 看起来像这样 div div Message number two div div div div
  • 模块构建失败(来自 ./node_modules/babel-loader/lib/index.js)Vue Js

    我从 GitHub 下载了一个我和我的朋友正在开发的项目 但是当我尝试运行时 npm run serve 我收到这个错误 src main js 中的错误 Module build failed from node modules babe
  • 有没有办法阻止 prettier / prettier-now 将函数参数分解为新行

    当使用 prettier prettier now 在保存时进行格式化时 当一个函数包装另一个函数时 它会中断到一个新行 我想知道是否有办法阻止这种行为 例如 期望的输出 app get campgrounds id catchAsync
  • Javascript转换时区问题

    我在转换当前时区的日期时间时遇到问题 我从服务器收到此日期字符串 格式为 2015 10 09T08 00 00 这是中部时间 但是当我使用 GMT 5 中的 new Date strDate 转换此日期时间时 它返回给我的信息如下 这是不
  • JQuery 图像上传不适用于未来的活动

    我希望我的用户可以通过帖子上传图像 因此 每个回复表单都有一个上传表单 用户可以通过单击上传按钮上传图像 然后单击提交来提交帖子 现在我的上传表单可以上传第一个回复的图像 但第二个回复的上传不起作用 我的提交过程 Ajax 在 php 提交
  • 为什么 jquery 没有检测到单选按钮未被选中的情况? [复制]

    这个问题在这里已经有答案了 可能的重复 JQuery radioButton change 在取消选择期间不会触发 https stackoverflow com questions 5176803 jquery radiobutton c
  • 将 MQTTNet 服务器与 MQTT.js 客户端结合使用

    我已经启动了一个 MQTT 服务器 就像this https github com chkr1011 MQTTnet tree master例子 该代码托管在 ASP Net Core 2 0 应用程序中 但我尝试过控制台应用程序 但没有成

随机推荐

  • 如何更改 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