Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.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_Events_Mobile_Onclick - Fatal编程技术网

Javascript JQuery移动按钮样式在单击时更改

Javascript JQuery移动按钮样式在单击时更改,javascript,jquery,events,mobile,onclick,Javascript,Jquery,Events,Mobile,Onclick,我正在用jquery mobile和html5开发一个移动应用程序。应用程序的一部分是事件日历,通过单击“下一步”和“上一步”按钮,该日历应该可以遍历月份 迭代功能可以正常工作,但是当月份发生变化时,按钮的内容和功能应该更新,以显示新月份的上一个和下一个按钮 if (month == 11) { var next_month = '<input id="next" onclick = "callMonth(' + 0 + ',' + (year + 1) + ');" typ

我正在用jquery mobile和html5开发一个移动应用程序。应用程序的一部分是事件日历,通过单击“下一步”和“上一步”按钮,该日历应该可以遍历月份

迭代功能可以正常工作,但是当月份发生变化时,按钮的内容和功能应该更新,以显示新月份的上一个和下一个按钮

if (month == 11) {
  var next_month = '<input id="next" onclick = "callMonth(' + 0 + ',' + (year + 1) 
    + ');" type="button" data-icon="arrow-r" data-inline="true" value="' 
    + monthNames[0] + ' ' + (year + 1) + '" />';
} else {
  var next_month = '<input id="next" onclick="callMonth(' + (month + 1) + ',' 
    +  year + ');" type="button" data-icon="arrow-r" data-inline="true" value="' 
    + monthNames[month + 1] + ' ' + (year) + '" />';    
}

// previous month
if (month == 0) {
  var prev_month = '<input id="next" onclick = "callMonth(' + 11 + ',' 
    + (year - 1) + ');" type="button" data-icon="arrow-l" data-inline="true" value="'
    + monthNames[11] + ' ' + (year - 1) + '" />';
} else {
  var prev_month = '<input id="next" onclick="callMonth(' + (month - 1) + ',' 
    + year + ');" type="button" data-icon="arrow-l" data-inline="true" value="' 
    + monthNames[month - 1] + ' ' + (year) + '" />';
}
if(月==11){
下个月风险值=“”;
}否则{
下个月风险值=“”;
}
//上月
如果(月份==0){
var上个月=“”;
}否则{
var上个月=“”;
}
我正在使用输入按钮的
onclick
参数,因为jQuery移动函数
$(“#next”).click()在if-else块内不起作用。同样重要的是,函数
callMonth(y,m)
本身将调用此代码。上面显示的代码是函数
calendarWidget()
的一部分,函数
callMonth()
正在调用该函数。因此,
onclick
参数函数触发再次构建按钮的函数

现在我的问题是:第一次生成按钮时,它的样式应该是正确的(jquerymobile、next/prev图标)。单击按钮时(无论是上一个月还是下一个月),下一个月或上一个月的所有内容都会正确显示。问题是:按钮将其样式重置为浏览器的默认样式,这意味着没有jQuery mobile ui,没有图标。如前所述,功能更新不会出现任何问题,这意味着可以在几个月内继续迭代

如何防止更改按钮的样式?我应该如何实现按钮的功能(无需重新加载页面?)

很抱歉,我在jQuery移动和英语方面缺乏经验。我找不到记录此错误的任何来源,可能问题在于使用了
onclick
,但无法在if-else语句中定义click事件触发器。我很高兴能得到任何关于如何解决这个问题的提示、帮助或线索


提前多谢

由于我的问题没有足够的细节,或者可能是因为它太具体,我找不到简单的解决方案,现在我已经编写了一个简单的解决方法来解决这个问题。 在做了更改之后,我已经尝试用两个按钮调用
.trigger(“create”)
,但都不起作用。因此,我只是在所有更改完成后添加了一个页面重新加载:

var callMonth = function(m, y) {
    $("#calendar").calendarWidget({month: m, year:y});
     eventData = eventFeedReader.read(function(eventData) {
                evalCalendar(m, y, eventData);
            });
    $('#events').page('destroy').page();
    }
callMonth函数仍由按钮的onclick参数调用:

<input id="next" onclick="callMonth(' + (month + 1) + ',' 
    +  year + ');" type="button" data-icon="arrow-r" data-inline="true" value="' 
    + monthNames[month + 1] + ' ' + (year) + '" />';    
”;
所以这里没有变化

尽管我预期命令
.page(“destroy”).page()
也会撤消对日历小部件所做的所有更改,但它没有。在页面被破坏和重建后,内容和功能正常工作。我不知道为什么不可能重新启动按钮,但不管怎样-现在一切正常。

无论如何,感谢所有试图猜出解决方案的人,祝那些遇到类似问题的人好运

由于我的问题没有足够的细节,或者可能是因为它太具体,我找不到简单的解决方案,现在我已经编写了一个简单的解决方法来解决这个问题。 在做了更改之后,我已经尝试用两个按钮调用
.trigger(“create”)
,但都不起作用。因此,我只是在所有更改完成后添加了一个页面重新加载:

var callMonth = function(m, y) {
    $("#calendar").calendarWidget({month: m, year:y});
     eventData = eventFeedReader.read(function(eventData) {
                evalCalendar(m, y, eventData);
            });
    $('#events').page('destroy').page();
    }
callMonth函数仍由按钮的onclick参数调用:

<input id="next" onclick="callMonth(' + (month + 1) + ',' 
    +  year + ');" type="button" data-icon="arrow-r" data-inline="true" value="' 
    + monthNames[month + 1] + ' ' + (year) + '" />';    
”;
所以这里没有变化

尽管我预期命令
.page(“destroy”).page()
也会撤消对日历小部件所做的所有更改,但它没有。在页面被破坏和重建后,内容和功能正常工作。我不知道为什么不可能重新启动按钮,但不管怎样-现在一切正常。
无论如何,感谢所有试图猜出解决方案的人,祝那些遇到类似问题的人好运