2017-03-22 72 views
0

我需要在按下帶有類型按鈕的按鈕後調用javascript。點擊按鈕後調用javascrtipt

<button type='button' 
     class='btn btn-sm btn-primary pull-right m-t-n-xs' 
     style='width: 100%;' id='demo' onclick='demo();'> 
      <strong>Edit</strong> 
</button> 

我試過下面的JavaScript的,但他們有錯誤

$('#demo').click(function() { 
    alert('hey'); 
}); 

對於上面的JS,它並沒有錯誤,但它並不會提醒..

document.getElementById("demo").onclick = function() { myFunction() }; 

function myFunction() { 
    alert('hey'); 
} 

上述js的錯誤是:Uncaught TypeError:無法在HTMLDocument上設置null的屬性'onclick'。

window.onload = function() { 
    document.getElementById("demo").onclick=function() { 
    alert("Hello WOrld"); 
    } 
} 

這最後一個是錯誤:遺漏的類型錯誤:不能在window.onload

+1

你需要調用的函數'demo'(這是目前從您的JS部分缺失) –

+1

閱讀你的HTML標籤,在其中設置'的onclick =部分 '演示();' – Paul

+0

'也可能相關:http://stackoverflow.com/questions/20021628/function-doesnt-execute-from-an-onclick-inside-the-html – Paul

回答

1

設置屬性空 的「的onclick」我已經刪除了你的代碼無關的部分,以簡化的答案。下面是一個簡單的HTML:

<button id="demo">Edit</button> 

注意你不應該包含JavaScript在onclick屬性。那是個過時的學校,只會讓你的生活更加悲慘。

下面是一些示例的JavaScript:

window.onload=function() { 
    var button=document.querySelector('button#demo'); 
    button.onclick=doit; 
} 

function doit() { 
    alert('clicked'); 
} 

你肯定不需要jQuery的爲這樣的事情。

對於它的價值,您可能不應該使用style屬性 - 這就是class屬性的用處。按鈕內部也不要使用strong。它在語義上是不正確的,如果你想讓文本變成粗體,就在按鈕本身上使用CSS。

+0

它仍然無法正常工作..可能是因爲按鈕類型是按鈕? – Domy

+0

它仍然無法正常工作..可能是因爲按鈕類型是按鈕? – Domy

+0

不,你是對的 - 我犯了幾個錯別字。 'button'元素中的'id'錯誤,並且JavaScript中的字符串不匹配。爲了清晰起見,我還更改了函數的名稱。 – Manngo

1

$('#demo').click(function() { 
 
    console.log('hey'); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<button type='button' class='btn btn-sm btn-primary pull-right m-t-n-xs' style='width: 100%;' id='demo'> 
 
      <strong>Edit</strong> 
 
</button>

+0

當按鈕類型是按鈕時它不起作用。 – Domy

+0

這適用於我的所有瀏覽器。 @Domy:你確定你沒有動態地添加按鈕......文檔準備好之後發生了什麼? – CodeHacker

0

下面是完整的例子: 按鈕與按鈕類型和功能的onclick接合創建。 <button type="button" onclick="onClickHandler()">Click Me!</button>

`<script> 
    // This function gets triggered when button is clicked. 
    function onClickHandler(){ 
     alert("JS rocks"); 
    } 
</script>` 
+0

請考慮添加一些解釋爲什麼這段代碼片段回答了這個問題。 – Clijsters