admin管理员组

文章数量:1292702

I'm trying on mail client tutorial on learn.knockoutjs. I want to add a "back button" in mail detail block. But that button is auto triggered.

my codes

<div class="viewMail" data-bind="with: chosenMailData">
    <button data-bind="click: alert('derp')">derp</button>
    <div class="mailInfo">
        <h1 data-bind="text: subject"></h1>
        <p><label>From</label>: <span data-bind="text: from"></span></p>
        <p><label>To</label>: <span data-bind="text: to"></span></p>
        <p><label>Date</label>: <span data-bind="text: date"></span></p>
    </div>
    <p class="message" data-bind="html: messageContent" />
</div>

when i set chosenMailData viewMail div is show. But same time browser alert "derp". I want to when i click button, browser alert at that time. what is wrong?

I'm trying on mail client tutorial on learn.knockoutjs.. I want to add a "back button" in mail detail block. But that button is auto triggered.

my codes

<div class="viewMail" data-bind="with: chosenMailData">
    <button data-bind="click: alert('derp')">derp</button>
    <div class="mailInfo">
        <h1 data-bind="text: subject"></h1>
        <p><label>From</label>: <span data-bind="text: from"></span></p>
        <p><label>To</label>: <span data-bind="text: to"></span></p>
        <p><label>Date</label>: <span data-bind="text: date"></span></p>
    </div>
    <p class="message" data-bind="html: messageContent" />
</div>

when i set chosenMailData viewMail div is show. But same time browser alert "derp". I want to when i click button, browser alert at that time. what is wrong?

Share Improve this question asked Oct 9, 2013 at 15:16 levyelevye 5526 silver badges20 bronze badges 1
  • 1 possible duplicate of KnockOutJs: Why does click data-bind has execute on-load of element? – Jacques Snyman Commented Oct 10, 2013 at 4:09
Add a ment  | 

1 Answer 1

Reset to default 11

The alert code will be executed when the with binding renders the content.

Either wrap it in a function or move it to a function in the view model

<button data-bind="click: function() { alert('derp'); }">derp</button>

本文标签: javascriptclick event auto triggered on knockoutjsStack Overflow