Javascript 单击按钮时的调用功能不起作用
我想在按钮点击事件中调用一个函数。该函数在另一个js文件中定义,我在Javascript 单击按钮时的调用功能不起作用,javascript,php,wordpress,Javascript,Php,Wordpress,我想在按钮点击事件中调用一个函数。该函数在另一个js文件中定义,我在function.php文件中有enqueue该文件。我可以看到该文件已从排队加载。但我犯了个错误 errorReferenceError:未定义myFunction 当我点击那个按钮时。我想在那个按钮上显示下拉菜单 <button onclick="jQuery(document).ready(function($) {myFunction();});" class="dropbtn"><i class="f
function.php
文件中有enqueue
该文件。我可以看到该文件已从排队
加载。但我犯了个错误
errorReferenceError:未定义myFunction
当我点击那个按钮时。我想在那个按钮上显示下拉菜单
<button onclick="jQuery(document).ready(function($) {myFunction();});" class="dropbtn"><i class="fa fa-bars fa-lg" aria-hidden="true"></i></button>
custom.js
(function( $ ) {
function myFunction() {
document.getElementById( 'myDropdown' ).classList.toggle( 'show' );
}
window.onclick = function( event ) {
if ( !event.target.matches( '.dropbtn' ) ) {
var dropdowns = document.getElementsByClassName( 'dropdown-content' );
var i;
for ( i = 0; i < dropdowns.length; i++ ) {
var openDropdown = dropdowns[i];
if ( openDropdown.classList.contains( 'show' ) ) {
openDropdown.classList.remove( 'show' );
}
}
}
}
})( jQuery );
(函数($){
函数myFunction(){
document.getElementById('myDropdown').classList.toggle('show');
}
window.onclick=函数(事件){
如果(!event.target.matches('.dropbtn')){
var dropdowns=document.getElementsByClassName('dropdown content');
var i;
对于(i=0;i
问题在于功能范围,有关详细说明,请参阅。要解决此问题,请尝试在js文件本身中调用该函数。例如:
$(document).ready(function(){
function myFunction(){
...
}
$(".dropbtn").click(myFunction());
});
该问题与功能范围有关,有关更详细的说明,请参阅。要解决此问题,请尝试在js文件本身中调用该函数。例如:
$(document).ready(function(){
function myFunction(){
...
}
$(".dropbtn").click(myFunction());
});
应该有用
$(document).ready(function(){
function myFunction(){
alert ('Say something!');
}
$(".dropbtn").click(function(){
myFunction();
});
});
应该有用
$(document).ready(function(){
function myFunction(){
alert ('Say something!');
}
$(".dropbtn").click(function(){
myFunction();
});
});
我注意到您不需要在按钮的
onclick
属性中使用ready
功能,因此这就足够了:
<button onclick="myFunction();" class="dropbtn">
<i class="fa fa-bars fa-lg" aria-hidden="true"></i>
</button>
我注意到您在某些部分不使用
$
,您可以将它们全部替换为jQuery
关键字。我注意到您不需要在按钮的onclick
属性中使用ready
函数,因此这就足够了:
<button onclick="myFunction();" class="dropbtn">
<i class="fa fa-bars fa-lg" aria-hidden="true"></i>
</button>
我注意到您在某些部分不使用
$
,您可以用jQuery
关键字替换它们。显示的问题相同您确定将函数和调用都放在同一jQuery函数中吗?请尝试引用和其他类似问题。这是一个简单的修复方法,但您只需要知道密钥。显示的问题相同您确定将函数和调用都放在同一个jQuery函数中吗?请尝试引用和其他类似问题。这是一个简单的修复方法,但您只需要知道密钥。只需将myFunction
从外部写入$(function(){})
。您的锚属性应该是onclick=returnmyfunction()代码>只需将myFunction
从外部写入$(function(){})
。您的锚属性应该是onclick=returnmyfunction()代码>