2016-07-02 2 views
-1

Was ist los mit Bindung onclick Ereignis wie dies? Irgendwie wird die Funktion nie ausgelöst.Was ist los mit Bindung onclick Ereignis wie folgt?

enter image description here

Ich denke, aufwändigere Codes wird die Frage besser erklären, ich es6 Vorlage wurde mit dem obigen Codes sippet zu generieren:

würde
let tmp = ` <div id="pageAppointment"> 
     ${this.renderDates(this.data.dateOptions)} 
     ${this.renderTimes(this.timeOptions)} 
     ${this.data.tip ? `<div class="tip flex align-center">${this.data.tip}</div>` : ``} 
     <div class="btn-wrap mui-flex"> 
      <div class="ok-btn cell" onclick="${this.onOK}">OK</div> 
     </div> 
    </div>` 
$(this.root).html(tmp); 
+0

Sie es ausführen müssen, erklären nicht nur – YOU

+1

Es gibt einige gute Antworten unten. Ich würde auch empfehlen, dass Sie Event-Handler im Skript anhängen und nicht in Attributen. – JonSG

+1

Nur als Randnotiz - bitte Code nicht als Bild eingeben – DAXaholic

Antwort

1

Der richtige Weg sein:

<div onclick="alert(111);">ok</div>

3

Da onclick="function name();" eine Funktion erstellt, wird sie nicht aufgerufen. Sie können stattdessen onclick="alert(111);" tun.

<button onclick="alert(111);"> click </button>

Oder die Funktion aufrufen, die wie in einer JS-Datei ist:

function onOK(){ 
 
    alert(111); 
 
}
<button onclick="onOK();">click</button>

Es ist wirklich schlecht, aber als Beispiel, Sie kann tun:

<button onclick="function onOK(){ 
 
        alert(111); 
 
        }; onOK();" >click</button>

, die sie rufen Sie die Funktion erstellt dann. Es ist ein Beispiel, tue das nicht, aber jetzt verstehst du, wie es funktioniert

+0

siehe meinen editierten Beitrag – Blake

3

Ihr Handler definiert nur eine Funktion onOK, aber Sie nennen es nie so, warum sollte es aufgerufen werden? Wenn Sie es ausgeführt werden sollen macht es zu einem IIFE wie so

(function onOK() { ...})() 
0

sollte es sein, wie diese

function myFunction(){ 
 
    alert('Clicked'); 
 
}
<div onclick="myFunction()">Button Div</div>

1

Verwenden Sie die Funktion Datei auf Ihrem Skript Onclick, hängen Sie dann auf deine Elemente.

<div onclick="someFunc()">ok</div> 

Script-Datei:

function someFunc(){ 

    ... 

} 
1

Rufen Sie Ihre Funktion am Ende function name();

<button onclick = "function clck(){alert('hi');}clck();"> 
Click 
</button>