看板 Ajax 關於我們 聯絡資訊
簡單一點就是像這樣 function Card(data) { var template = '<div>' + '<h1>' + data.title + '</h1>' + '<p>' + data.content + '</p>' + '</div>' ; this.data = data; this.$ = $($.parseHTML(template)); this.$.appendTo('body'); } var card1 = new Card({'title' : '卡片的標題' ,'content': '卡片的內容' }) 這樣綁事件可以card1.$.on('h1', 'click', function(){....}) 或者直接在function Card裡面新建區塊時做....(重複性的功能最好都如此) 更多功能就請自己研究吧 ※ 引述《superpai (超級白)》之銘言: : 最近用22kopendata的api做了個小玩具 http://22.kjobs.info/ : 網站上每個職缺卡片都是new一個Backbone.View的 : 因為網站也不會再擴充了,覺得要拉underscore + backbone還蠻浪費的 : 但是我沒有backbone就不會寫這種重複性的區塊 : 每個區塊都有自己的event和data : 所以想請教一下拿掉backbone以後要怎麼改寫? : js在這邊 http://22.kjobs.info/javascripts/app.js : (CoffeeScript編譯的) : 感謝 : ---- : 補充一下,主要是 : view = new JobView({ : data: job, : template: JobTemplate, : detailTemplate: JobDetailTemplate, : count: current_job_count + i : }); : 這個地方,每次丟進去的data和count是不一樣的, : 讓生出來的html也不一樣 : 所以沒有backbone的話不知道怎麼改用jQuery寫 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.116.190.145
mrbigmouth:不過如果要更多複雜的功能,其實用backbone就好了 02/18 09:44
mrbigmouth:也沒多大....沒必要自己造輪子 02/18 09:45
superpai:原來如此 我還沒有自己寫function來new過 來試試看 02/18 11:01
mrbigmouth:寫function來new是最基本的javascript物件導向方式 02/18 11:20
mrbigmouth:最好要對prototype有所理解才能寫出有效率的程式 02/18 11:21
mrbigmouth:(與其說最基本....不如說是最原始的方式) 02/18 11:22
mrbigmouth:還有...工廠函式最後也能有回傳值..而且可以以回傳物件 02/18 11:23
mrbigmouth:的方式取代原本回傳this的方式,這樣就可以製做出不用 02/18 11:24
mrbigmouth:new也能生效的工廠函式... 02/18 11:24
mrbigmouth:我是指能用card = new Card(), 也能直接card = Card() 02/18 11:25
mrbigmouth:反正這方面資料很多應該可以自己找啦........(縮) 02/18 11:25
superpai:感謝指點和範例,我成功了 02/18 21:58