Ich habe gesucht und ich habe verschiedene Selektoren ausprobiert, aber ich kann das nicht herausfinden. Ich folge einem Tutorial, aber ich bekomme kein Ergebnis.Bind Click Event zum Selektor mit Knockout
Das Ereignis click
scheint nicht bindend für den dynamisch generierten div
Abschnitt '.person-brief'
? Es ist kein click
Ereignis damit verbunden. Ich versuchte auch .live()
, aber das scheint veraltet gewesen zu sein.
Irgendeine Idee, was ich falsch mache?
person.js Modell
var gotoDetails = function (selectedPerson) {
if (selectedPerson && selectedPerson.id()) {
var url = '#/persondetail/' + selectedPerson.id();
router.navigateTo(url);
}
};
var viewAttached = function (view) {
bindEventToList(view, '.person-brief', gotoDetails);
};
var bindEventToList = function (rootSelector, selector, callback, eventName) {
var eName = eventName || 'click';
$(rootSelector).on(eName, selector, function() {
var ser = ko.dataFor(this);
callback(ser);
return false;
});
};
var vm = {
people: people,
title: 'people demo',
viewAttached: viewAttached
};
return vm;
person.html Ansicht
<section id="person-view" class="view">
<header>
<a class="btn btn-info btn-force-refresh pull-right"
data-bind="click: refresh" href="#"><i class="icon-refresh"></i>Refresh</a>
<h3 class="page-title" data-bind="text: title"></h3>
<div class="article-counter">
<address data-bind="text: people().length"></address>
<address>found what</address>
</div>
</header>
<section class="view-list" data-bind="foreach: people">
<article class="article-left-content">
<div class="person-brief" title="Go to person details">
<small data-bind="text: firstname" class="right"></small>
<small data-bind="text: lastname"></small>
</div>
</article>
</section>
</section>
danke, ich folgte Tutorial von John Pappa und Abbildung, das war die beste Praxis, so habe ich nicht auf andere Methoden, wahrscheinlich veraltet. Das ist viel einfacher als das, was es war ... vielen Dank. – wirble