Javascript Knockout.js+;自助游
我想和你一起使用。特别是,我想将一些数据绑定的点击处理程序附加到巡更步骤中的按钮上 我创建了一个简单的旅行,如下所示:Javascript Knockout.js+;自助游,javascript,knockout.js,bootstrap-tour,Javascript,Knockout.js,Bootstrap Tour,我想和你一起使用。特别是,我想将一些数据绑定的点击处理程序附加到巡更步骤中的按钮上 我创建了一个简单的旅行,如下所示: var tour = new new Tour({ steps: [ { orphan: true, title: "Help Title", content: "<button data-bind='click: someBoundFunction'>Click me!
var tour = new new Tour({
steps: [
{
orphan: true,
title: "Help Title",
content: "<button data-bind='click: someBoundFunction'>Click me!</button>"
}
]
});
tour.init();
tour.start(true);
var-tour=new-tour({
步骤:[
{
孤儿:是的,
标题:“帮助标题”,
内容:“点击我!”
}
]
});
tour.init();
tour.start(true);
可以用这种装订吗?或者,由于bootstraptour的标记代码创建机制,这种绑定不会工作吗?我这样尝试过,但单击按钮不会执行该功能,也不会显示任何错误消息。Knockout不会自动更新新添加元素的绑定。不过有一个解决办法,请参见此(和)。以下是基于此解决方案的可能解决方案 因此,您有一个主视图模型,它将开始您的巡演:
function ViewModel(){
var self = this;
this.tour = new Tour({
steps: [
{
orphan: true,
title: "Help Title",
content: '<button id="newButton" data-bind="click: showMessage">showMessage</button>',
onShown: function(tour) {
// apply the bindings after content is added
ko.applyBindings(self, document.getElementById("newButton"));
}
}
]
});
this.startTour = function() {
this.tour.init();
self.tour.start(true);
}
this.showMessage = function() {
alert('Hello!');
}
}
函数ViewModel(){
var self=这个;
this.tour=新的巡更({
步骤:[
{
孤儿:是的,
标题:“帮助标题”,
内容:“showMessage”,
onShown:功能(巡演){
//添加内容后应用绑定
应用绑定(self,document.getElementById(“newButton”);
}
}
]
});
this.startTour=函数(){
this.tour.init();
self.tour.start(true);
}
this.showMessage=函数(){
警惕(“你好!”);
}
}
Knockout不会为新添加的元素自动更新绑定。不过有一个解决办法,请参见此(和)。以下是基于此解决方案的可能解决方案 因此,您有一个主视图模型,它将开始您的巡演:
function ViewModel(){
var self = this;
this.tour = new Tour({
steps: [
{
orphan: true,
title: "Help Title",
content: '<button id="newButton" data-bind="click: showMessage">showMessage</button>',
onShown: function(tour) {
// apply the bindings after content is added
ko.applyBindings(self, document.getElementById("newButton"));
}
}
]
});
this.startTour = function() {
this.tour.init();
self.tour.start(true);
}
this.showMessage = function() {
alert('Hello!');
}
}
函数ViewModel(){
var self=这个;
this.tour=新的巡更({
步骤:[
{
孤儿:是的,
标题:“帮助标题”,
内容:“showMessage”,
onShown:功能(巡演){
//添加内容后应用绑定
应用绑定(self,document.getElementById(“newButton”);
}
}
]
});
this.startTour=函数(){
this.tour.init();
self.tour.start(true);
}
this.showMessage=函数(){
警惕(“你好!”);
}
}
Knockout不会为新添加的元素自动更新绑定。不过有一个解决办法,请参见此(和)。以下是基于此解决方案的可能解决方案 因此,您有一个主视图模型,它将开始您的巡演:
function ViewModel(){
var self = this;
this.tour = new Tour({
steps: [
{
orphan: true,
title: "Help Title",
content: '<button id="newButton" data-bind="click: showMessage">showMessage</button>',
onShown: function(tour) {
// apply the bindings after content is added
ko.applyBindings(self, document.getElementById("newButton"));
}
}
]
});
this.startTour = function() {
this.tour.init();
self.tour.start(true);
}
this.showMessage = function() {
alert('Hello!');
}
}
函数ViewModel(){
var self=这个;
this.tour=新的巡更({
步骤:[
{
孤儿:是的,
标题:“帮助标题”,
内容:“showMessage”,
onShown:功能(巡演){
//添加内容后应用绑定
应用绑定(self,document.getElementById(“newButton”);
}
}
]
});
this.startTour=函数(){
this.tour.init();
self.tour.start(true);
}
this.showMessage=函数(){
警惕(“你好!”);
}
}
Knockout不会为新添加的元素自动更新绑定。不过有一个解决办法,请参见此(和)。以下是基于此解决方案的可能解决方案 因此,您有一个主视图模型,它将开始您的巡演:
function ViewModel(){
var self = this;
this.tour = new Tour({
steps: [
{
orphan: true,
title: "Help Title",
content: '<button id="newButton" data-bind="click: showMessage">showMessage</button>',
onShown: function(tour) {
// apply the bindings after content is added
ko.applyBindings(self, document.getElementById("newButton"));
}
}
]
});
this.startTour = function() {
this.tour.init();
self.tour.start(true);
}
this.showMessage = function() {
alert('Hello!');
}
}
函数ViewModel(){
var self=这个;
this.tour=新的巡更({
步骤:[
{
孤儿:是的,
标题:“帮助标题”,
内容:“showMessage”,
onShown:功能(巡演){
//添加内容后应用绑定
应用绑定(self,document.getElementById(“newButton”);
}
}
]
});
this.startTour=函数(){
this.tour.init();
self.tour.start(true);
}
this.showMessage=函数(){
警惕(“你好!”);
}
}
谢谢,这会有用的。演示功能如何?这能拯救超时黑客吗?@MichaelHilus,说得好,我怎么能错过呢。我已经更新了我的答案,使用了
onShown
事件处理程序,没有任何恶意攻击,谢谢!谢谢,这会有用的。演示功能如何?这能拯救超时黑客吗?@MichaelHilus,说得好,我怎么能错过呢。我已经更新了我的答案,使用了onShown
事件处理程序,没有任何恶意攻击,谢谢!谢谢,这会有用的。演示功能如何?这能拯救超时黑客吗?@MichaelHilus,说得好,我怎么能错过呢。我已经更新了我的答案,使用了onShown
事件处理程序,没有任何恶意攻击,谢谢!谢谢,这会有用的。演示功能如何?这能拯救超时黑客吗?@MichaelHilus,说得好,我怎么能错过呢。我已经更新了我的答案,使用了onShown
事件处理程序,没有任何恶意攻击,谢谢!