对不同的div使用相同的javascript
我有这样的想法:对不同的div使用相同的javascript,javascript,Javascript,我有这样的想法: <div id="div1"><?php include 'test.php'; ?></div> <div id="div2"><?php include 'test.php'; ?></div> 如何分别为div1和div2调用myFunction?我的意思是,如果我点击div1中的按钮,myFunction只在该div中完成。我找到了这个javascript关键字,但我无法正确应用它 请不要jQue
<div id="div1"><?php include 'test.php'; ?></div>
<div id="div2"><?php include 'test.php'; ?></div>
如何分别为div1
和div2
调用myFunction
?我的意思是,如果我点击div1
中的按钮,myFunction
只在该div中完成。我找到了这个
javascript关键字,但我无法正确应用它
请不要jQuery。检查下面的代码
<button onclick="myFunction.bind(this)">test</button>
测试
检查以下代码
<button onclick="myFunction.bind(this)">test</button>
测试
您可以在函数中添加参数
<div id="div1"><?php $button=1; include 'test.php'; ?></div>
<div id="div2"><?php $button=2; include 'test.php'; ?></div>
和您的php:
<button onclick="myFunction(<?php echo $button;?>)">test</button>
您可以在函数中添加参数
<div id="div1"><?php $button=1; include 'test.php'; ?></div>
<div id="div2"><?php $button=2; include 'test.php'; ?></div>
和您的php:
<button onclick="myFunction(<?php echo $button;?>)">test</button>
您可以使用call方法将上下文传递给函数,如下所示:
<button onclick="myFunction.call(this)">test</button>
测试
测试
您可以使用call方法将上下文传递给函数,如下所示:
<button onclick="myFunction.call(this)">test</button>
测试
测试
这里有一个解决方案:
函数myFunction(ev){
日志(ev.target.parentNode.id);
}
按钮1
按钮2
这里有一个解决方案:
函数myFunction(ev){
日志(ev.target.parentNode.id);
}
按钮1
按钮2
您需要共享myFunction
的代码:这个按钮是test.php中唯一的东西吗?如果不是,我们可能需要知道里面都是什么。您可以使用this.parentNode.id
或其他什么,但这完全取决于两个div
s内部的结构。您应该使用addEventListener
而不是内联事件。内联事件更难维护,需要在全局范围内公开函数。在div1
中,还有6个嵌套分区(divA、divB…)和选择下拉列表。divA
可见。单击任何选项后,将显示divB
等。相同的内容位于div id=“div2”
中。我可以使用nextElementSibling逐个显示嵌套分区。但我不知道如何使用关键字“this”或“this.parentNode.id”来确定,如果在div1
或div2
中调用functon,并且在div1
或div2
中一个接一个地显示嵌套的分区,那么您需要共享myFunction
的代码可能重复:这个按钮实际上是test.php中唯一的东西吗?如果不是,我们可能需要知道里面都是什么。您可以使用this.parentNode.id
或其他什么,但这完全取决于两个div
s内部的结构。您应该使用addEventListener
而不是内联事件。内联事件更难维护,需要在全局范围内公开函数。在div1
中,还有6个嵌套分区(divA、divB…)和选择下拉列表。divA
可见。单击任何选项后,将显示divB
等。相同的内容位于div id=“div2”
中。我可以使用nextElementSibling逐个显示嵌套分区。但我不知道如何使用关键字“this”或“this.parentNode.id”来确定functon是否在div1
或div2
中被调用,嵌套的分区是否在div1
或div2
中一个接一个地显示,你为什么认为.bind(this)
会解决他的问题?你为什么认为.bind(this)
会解决这个问题
能解决他的问题吗?