2016-11-07 64 views
0

正如我們從onclick屬性調用常規javascript函數一樣,爲什麼我們不能調用jQuery方法,如下面的代碼所示。爲什麼這不起作用?如何使用HTML中的'onlick屬性'調用jquery插件函數

<body> 
<script src="https://code.jquery.com/jquery-2.0.3.js"></script> 
    <p id="p1">Some Text inside paragraph</p> 
    <button type="button" onclick="$.test();">Click Me</button> 
</body> 

JS

$.fn.extend({ 
    test: function() { 
    var t = $('#p1').text(); 
    alert(t); 
    }); 
    }, 
}); 

感謝 BT

+6

爲什麼你會做這樣開始了的事情嗎?停止使用內聯JavaScript,並改爲適當的事件處理程序。 – adeneo

+2

和FYI,你沒有'.test();'方法,你有'$(element).test()'方法! – adeneo

+1

你正在混合你的擴展與插件。你*可以*這樣做,通過使用'onlick ='$(this).test();'' –

回答

1

保持使用onclick=擱置的問題,你可以這樣來做:

<p id="p1">Some Text inside paragraph</p> 
<button type="button" onclick="$(this).test();">Click Me</button> 

$.fn.extend({ 
    test: function() { 
    var t = $(this).text(); // use $(this) here 
    alert(t); 
    }, 
}); 

例小提琴:https://jsfiddle.net/asw8824h/

0
$(document).ready(function() { 
    $(document).on('click',"#target",function() {   
     // do something 
    }); 
}); 
相關問題