mustache.js渲染带事件的模板
http://zccst.iteye.com/blog/2183111
最近遇到这样一个问题,预览内容可点击,问题是通过$.Mustache.render("templateId",data)渲染后的返回结果是一个字符串。
实现方案有两个:一个是在Backbone的events中绑定事件,一个是对返回后的String使用jQuery的$(html).find("#target").click();
方案一:在Backbone的events中绑定事件
var PreviewView = Backbone.View.extend({ events: { 'click .new_bt a' : 'demoClick', }, initialize: function(options){ this.model.bind('change:list', this.renderPreviewView, this); this.renderPreviewView(); }, renderPreviewView: function(){ this.$el.empty(); var data = this.model.toJSON(); //方法1:使用$.Mustache.render(); var html = $.Mustache.render('crownCommonKeyPreview-Pc', this.formatData(data.list)); this.$el.html(html); //方法2:使用$("#xx").mustache("",data); //this.$el.empty().mustache('crownCommonKeyPreview-Pc', this.formatData(data.list)); //方法3:使用原生的Mustache }, ... })
原理:Backbone使用的是事件代理,把html填充到el中后,el自然代理html中元素绑定的事件。
方案二:对返回后的String使用jQuery的$(html).find("#target").click();
var PreviewView = Backbone.View.extend({ events: { }, initialize: function(options){ this.model.bind('change:list', this.renderPreviewView, this); this.renderPreviewView(); }, renderPreviewView: function(){ this.$el.empty(); var data = this.model.toJSON(); //方法1:使用$.Mustache.render(); var html = $.Mustache.render('crownCommonKeyPreview-Pc', this.formatData(data.list)); this.$el.html(html); this.$el.find(".new_bt a").click(function(){alert("aaa")}); //方法2:使用$("#xx").mustache("",data); //this.$el.empty().mustache('crownCommonKeyPreview-Pc', this.formatData(data.list)); //方法3:使用原生的Mustache }, ... })
mustache.js渲染带事件的模板的更多相关文章
- mustache.js使用基本(三)
作者:zccst 本节要点是子模块(partials)和分隔符(delimiter)等 1,子模块(partials) /* {{>partials}}以>开始表示子模块,如{{> ...
- Javascript模板引擎mustache.js详解
mustache.js是一个简单强大的Javascript模板引擎,使用它可以简化在js代码中的html编写,压缩后只有9KB,非常值得在项目中使用.本文总结它的使用方法和一些使用心得,内容不算很高深 ...
- Mustache.js前端模板引擎源码解读
mustache是一个很轻的前端模板引擎,因为之前接手的项目用了这个模板引擎,自己就也继续用了一会觉得还不错,最近项目相对没那么忙,于是就抽了点时间看了一下这个的源码.源码很少,也就只有六百多行,所以 ...
- 模板引擎mustache.js
Javascript模板引擎mustache.js详解 阅读目录 1. 从一个简单真实的需求讲起 2. mustache的用法 3. mustache的思想 4. {{prop}}标签 5. {{ ...
- vue系列---Mustache.js模板引擎介绍及源码解析(十)
mustache.js(3.0.0版本) 是一个javascript前端模板引擎.官方文档(https://github.com/janl/mustache.js) 根据官方介绍:Mustache可以 ...
- 探究Javascript模板引擎mustache.js使用方法
这篇文章主要为大家介绍了Javascript模板引擎mustache.js使用方法,mustache.js是一个简单强大的Javascript模板引擎,使用它可以简化在js代码中的html编写,压缩后 ...
- 使用mustache.js 模板引擎输出html
看了https://mustache.github.io/你就知道mustache是非常强大的模板引擎,支持多种语言,下面是个简单入门例子: MVC Model public class Studen ...
- 前端JS模板引擎Mustache.js的用法
Mustache.js在前端是一个非常强大的模板 Mustache用法参考
- mustache.js基本使用(一)
作者:zccst 模板已是第二次接触,第一次使用模板记得是在十分系统里渲染页面时使用,当时已做到熟练使用,但实际上仍不知道原因. 再次学习模板已不是从0开始,所以还算顺手,但毕竟还只限于使用,今天继续 ...
随机推荐
- YTU 3008: 链串的基本运算
3008: 链串的基本运算 时间限制: 1 Sec 内存限制: 128 MB 提交: 1 解决: 1 题目描述 编写一个程序,实现链串的各种基本运算,主函数已给出,请补充每一种方法. 1.建立串s ...
- c#之线程池
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.I ...
- Poj(2784),二进制枚举最小生成树
题目链接:http://poj.org/problem?id=2784 Buy or Build Time Limit: 2000MS Memory Limit: 65536K Total Sub ...
- Web项目后台测试流程
1. 本地下载项目源码 1. Git clone项目代码到本地(本地项目代码1)并fetch: 2. Switch到master分支: 3. Create测试分支(例如:test1)并勾选“Switc ...
- Android开发中,那些让您觉得相见恨晚的方法、类或接口
Android开发中,那些让你觉得相见恨晚的方法.类或接口本篇文章内容提取自知乎Android开发中,有哪些让你觉得相见恨晚的方法.类或接口?,其实有一部是JAVA的,但是在android开发中也算常 ...
- LYK 与实验室
LYK 与实验室(lab)Time Limit:5000ms Memory Limit:64MB[题目描述] LYK 在一幢大楼里,这幢大楼共有 n 层,LYK 初始时在第 a 层上.这幢大楼有一个秘 ...
- 【Linux】CentOS设置静态IP(非动态获取IP)
在VMware上安装好Linux后,默认设置的动态IP,每次启动的IP都不同,远程连接挺费劲的. 于是,需要设置静态的IP,至少我从远程工具连接上去方便多了.另外,为了安装一些软件,也需要访问互联网. ...
- VM安装失败
出现:VMware安装失败 “Failed to create the requested registry key Key:installer Error:1021" 解决: 开始--运行 ...
- 我的android学习经历18
今天主要学了几个android控件和使用两个适配器 ListView DatePicker和TimePicker GridView 适配器:SimpleAdapter和ArrayAdapter 都是常 ...
- js写个日历
其实我是一个对时间和日期不怎么感兴趣的人,小学的时候感觉时间或者日期那块就让我很晕,因为有时候是100进制有时候是60进制,搞的我对日历一直很不感兴趣,最近不知道为什么想写一个日历了,可想而知,这个玩 ...