jQuery 仅在函数内调用时点击才起作用
jQuery click working only when called within a function
当我使用 .click()
这些方法时,它不起作用:
$(document).ready($("#addPosition").click(function(event) {
console.log("I'm in HTML .ready()");
event.preventDefault();
}))
$($("#addPosition").click(function(event) {
console.log("I'm in HTML $()");
event.preventDefault();
}))
但是如果我用这段代码创建一个函数并在不带括号的情况下调用它,它就可以工作:
function doPosition() {
$("#addPosition").click(function(event) {
console.log("I'm in function");
event.preventDefault();
})}
$(doPosition);
这是 HTML 部分:
<p>Position: <input type='submit' class="btn-sm btn btn-light" id='addPosition' value='+' /></p>
你必须在文档中传递一个函数就绪
像这样
//$(document).ready(() => {
// $("#addPosition").click(function(event) {
// console.log("I'm in HTML .ready()");
// event.preventDefault();
// })
//})
//or for short
$(() => {
$("#addPosition").click(function(event) {
console.log("I'm in HTML .ready()");
event.preventDefault();
})
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button id="addPosition">CLICK</button>
当我使用 .click()
这些方法时,它不起作用:
$(document).ready($("#addPosition").click(function(event) {
console.log("I'm in HTML .ready()");
event.preventDefault();
}))
$($("#addPosition").click(function(event) {
console.log("I'm in HTML $()");
event.preventDefault();
}))
但是如果我用这段代码创建一个函数并在不带括号的情况下调用它,它就可以工作:
function doPosition() {
$("#addPosition").click(function(event) {
console.log("I'm in function");
event.preventDefault();
})}
$(doPosition);
这是 HTML 部分:
<p>Position: <input type='submit' class="btn-sm btn btn-light" id='addPosition' value='+' /></p>
你必须在文档中传递一个函数就绪
像这样
//$(document).ready(() => {
// $("#addPosition").click(function(event) {
// console.log("I'm in HTML .ready()");
// event.preventDefault();
// })
//})
//or for short
$(() => {
$("#addPosition").click(function(event) {
console.log("I'm in HTML .ready()");
event.preventDefault();
})
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button id="addPosition">CLICK</button>