Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery按钮和函数_Javascript_Jquery_Html - Fatal编程技术网

Javascript jQuery按钮和函数

Javascript jQuery按钮和函数,javascript,jquery,html,Javascript,Jquery,Html,我刚刚开始在代码的前面使用jQuery来获取和删除它的内容。我当前的“显示节点”按钮有问题。问题是,当松开按钮时,节点应该被擦除,然后在再次单击按钮时重新绘制。我还将在下面发布我的代码笔 到目前为止,只有当我取消选择“显示节点”,然后继续单击“n-1”、“基态”或“n+1”时,才会清除节点。以下是相关代码。谢谢各位 代码笔: var n=1; 函数drawNodes(){ clearNodes(); 对于(var m=1;m

我刚刚开始在代码的前面使用jQuery来获取和删除它的内容。我当前的“显示节点”按钮有问题。问题是,当松开按钮时,节点应该被擦除,然后在再次单击按钮时重新绘制。我还将在下面发布我的代码笔

到目前为止,只有当我取消选择“显示节点”,然后继续单击“n-1”、“基态”或“n+1”时,才会清除节点。以下是相关代码。谢谢各位

代码笔:

var n=1;
函数drawNodes(){
clearNodes();
对于(var m=1;mdocument.getElementById(“nodeDrawing”).innerHTML+='在Show nodes按钮上设置的onClick处理程序切换活动类,但没有注意到类的更改,也没有任何东西基于Show nodes click调用transformToSVG,这是查看类的函数

在codepen中,一种快速(但不是很漂亮)的方法似乎是在onClick中添加一点逻辑

<input 
    id="showNodes" 
    type="button" 
    onClick="jQuery(this).toggleClass('active').hasClass('active') ? drawNodes() : clearNodes()" value = "Show nodes">

您试图在单击按钮后使用jQuery将事件处理程序绑定到按钮,但操作不正确

试试这个

<input id="showNodes" type="button" onclick="jQuery(this).toggleClass('active'); drawNodes();"
通常情况下,事件绑定将jQuery包装在一个函数中,该函数将在文档准备就绪时调用

jQuery(document).ready(function() {
    jQuery('#showNodes').click(function() { drawNodes();});
});

当您使用
.click()
时,您应该传递一个函数:
。click(drawNodes)
。您所拥有的相当于
click(未定义)
,因为这是
drawNodes()
返回的。您的函数不是正确关闭。很酷的图形btwI在搜索jQuery时看到了很多?和:但我不确定它的意思。该语句是否只是声明“如果此按钮处于活动状态,则为drawNodes(),如果此按钮处于非活动状态,则为clearNodes()”?@allego它被称为a,是的,它就像一个压缩的if/else语句。如果条件为true,则执行冒号之前的代码。如果条件为false,则执行冒号之后的代码为。感谢您的回复,尤其是所有语法信息。我一定会发现这在以后的其他项目中很有用。
jQuery(document).ready(function() {
    jQuery('#showNodes').click(function() { drawNodes();});
});