所以我试着做一个简单的改变小提琴。我无法让它发挥作用。不管我做什么。为什么?
HTML CODE
<div id="status" style="display:none">0</div>
<button class="start">GO</button>
Javascript CODE
var cntTo = 2;
var cnt = 0;
$('#status').change( function() {
console.log('status changed');
if ($(this).text() == '1'){
if(cnt <= cntTo){
getNext(cnt);
}
}
});
$('.start').click(function(){
console.log('start clicked');
console.log('text of status now: ' + $('#status').text());
if($('#status').text() != '1'){
console.log('setting text');
$('#status').text('1');
console.log('text of status now: ' +$('#status').text());
}
});
function getNext(cnt){
$('#status').text('0');
console.log('getting details');
}
答案 0 :(得分:1)
.change()函数仅限于input,textarea和select。 资料来源:https://api.jquery.com/change/
答案 1 :(得分:0)
您可以直接使用GO按钮点击事件嵌入onchange
功能代码,如下所示:
$('.start').click(function(){
if($('#status').text() != '1'){
$('#status').text('1');
}
else
{
if(cnt <= cntTo){
getNext(cnt);
}
}
});
答案 2 :(得分:0)
使用DOMSubtreeModified
事件
DOMSubtreeModified
这是通知文档所有更改的一般事件。它可以用来代替更具体的突变和突变名称事件。 Reference
$('#status').bind("DOMSubtreeModified",function(){
alert('changed');
});
工作fiddle
另一个简单的解决方案
当脚本中的#text
更改中的文本触发触发器并且您可以将其绑定到更改事件
var cntTo = 2;
var cnt = 0;
$('#status').bind('change', function () {
console.log('fired');
if ($(this).text() == '1'){
if(cnt <= cntTo){
getNext(cnt);
}
}
});
$('.start').click(function(){
if($('#status').text() != '1'){
$('#status').text('1');
$('#status').trigger('change');
}
});
function getNext(cnt){
$('#status').text('0');
console.log('getting details');
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="status" style="display:none">0</div>
<button class="start">GO</button>
答案 3 :(得分:0)
使用此
$('#status').bind("DOMSubtreeModified",function(){
var cntTo = 2;
var cnt = 0;
$(document).ready(function() {
$('.start').click(function() {
if ($('#status').text() != '1') {
$('#status').text('1');
}
});
$('#status').bind("DOMSubtreeModified",function(){
console.log('fired');
if ($(this).text() == '1') {
if (cnt <= cntTo) {
getNext(cnt);
}
}
});
});
function getNext(cnt) {
$('#status').text('0');
console.log('getting details');
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="status" style="">0</div>
<button class="start">GO</button>
&#13;
答案 4 :(得分:0)
$("start").click
函数放入就绪函数
答案 5 :(得分:0)
您正在使用change
事件,该事件不会关注或响应div内容。请使用DOMSubtreeModified
事件并触发针对该事件的操作。
var cntTo = 2;
var cnt = 0;
$('#status').on("DOMSubtreeModified", function() {
if ($(this).text() == '1') {
if (cnt <= cntTo) {
getNext(cnt);
}
}
});
$('.start').click(function() {
if ($('#status').text() != '1') {
console.log('setting text');
$('#status').text('1');
console.log('text of status now: ' + $('#status').text());
}
});
function getNext(cnt) {
$('#status').text('0');
console.log('getting details');
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="status" style="display:none">0</div>
<button class="start">GO</button>
答案 6 :(得分:0)
如果您想在div
元素内修改内容时执行某些操作,则必须使用名为DOMSubtreeModified
的事件,如下所示。
$("body").on('DOMSubtreeModified', "#status", function() {
<强>参考:强>
有关更多信息,请在堆栈溢出中读出已经讨论过的线程。