javascript - 使用 Javascript 的 Onclick
问题描述
我一直在尝试从单独的脚本中实现 JS 调用,尽管引用了 m,ultiple 演示,但我无法让我的示例正常工作。
有人可以帮我解决这个简单的例子吗?
tescript.php 说
<!DOCTYPE HTML>
<!-- Load checkout JS -->
<script type="text/javascript" src="tscript.js"></script>
<div class="col-md-3 col-sm-4 col-xs-12 imageUploadSide">
<ul>
<li> <button id="buyingPhoto" class="btn btn-buy">A New Buyit Button</button>
</li>
</ul>
</div>
然后脚本文件说
// checking script load & log
console.log("script file has been loaded")
$('#buyingPhoto').on('click', function() {
console.log("Can a button be depressed?")
});
我得到一个脚本已加载的控制台日志(故障排除步骤 1),但 onclick 本身没有运行
解决方案
您缺少导入 jQuery 库。$()
是 jQuery 使用的。并注意图书馆的顺序。并确保页面也已加载。所以你应该使用document.ready
.
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script type="text/javascript" src="tscript.js"></script>
console.log("script file has been loaded")
$( document ).ready(function() {
$('#buyingPhoto').on('click', function() {
console.log("Can a button be depressed?")
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="col-md-3 col-sm-4 col-xs-12 imageUploadSide">
<ul>
<li> <button id="buyingPhoto" class="btn btn-buy">A New Buyit Button</button>
</li>
</ul>
</div>
没有jQuery
document.getElementById("buyingPhoto").onclick = function() {
console.log("Can a button be depressed?")
};
<div class="col-md-3 col-sm-4 col-xs-12 imageUploadSide">
<ul>
<li> <button id="buyingPhoto" class="btn btn-buy">A New Buyit Button</button>
</li>
</ul>
</div>
或者你可以在 html 中点击
function test(){
console.log("Can a button be depressed?")
}
<div class="col-md-3 col-sm-4 col-xs-12 imageUploadSide">
<ul>
<li> <button onclick="test()" id="buyingPhoto" class="btn btn-buy">A New Buyit Button</button>
</li>
</ul>
</div>
推荐阅读
- mysql - 尝试选择所有内容,但不包括 ID 之间的内容不起作用
- mongodb - 无法使用展开或减少 mongodb 聚合管道对数组进行排序
- jquery - 在输入的焦点上添加一个类,而不是单击
- angular - 新的 Angular 应用程序忽略 .angular-cli.json 中的默认 scss 样式扩展
- r - 时间序列(周和年)重叠 x 标签的 ggplot2
- angular - 使用 Directive Angular 时 @ViewChild 为空
- hibernate - 在 Hibernate 中,当没有对此类进行更改时,为什么我会发现同一集合的两个表示
- c# - 为 Visual C++ 创建一个 nuget 包
- swift - Swift 4:无法将类型“(Void)-> Void”的值分配给类型“(()-> Void)?”
- webrtc - 通过 Asterisk 在智能手机(Android)上的 WebRTC 呼叫中没有视频