Javascript 这两个jQuery语句中没有bug,但我只是想知道为什么
下面的工作做得很好Javascript 这两个jQuery语句中没有bug,但我只是想知道为什么,javascript,jquery,jquery-mobile,Javascript,Jquery,Jquery Mobile,下面的工作做得很好 sendtext5 = "Homer Simpson"; $eraser.prop('value', sendtext5); $.mobile.pageContainer.pagecontainer( "change", $article2 ); 但不是下面的 sendtext5 = "Homer Simpson"; $.mobile.pageContainer.pagecontainer( "change", $article2 ); // This line e
sendtext5 = "Homer Simpson";
$eraser.prop('value', sendtext5);
$.mobile.pageContainer.pagecontainer( "change", $article2 );
但不是下面的
sendtext5 = "Homer Simpson";
$.mobile.pageContainer.pagecontainer( "change", $article2 ); // This line executes
$eraser.prop('value', sendtext5); // This line does not execute
$article2是div标记,$橡皮擦是输入标记
我想知道为什么第二种情况有效,而第一种情况有效
它是jQuery 2.1.1和jQuery Mobile 1.4.5
非常感谢,堆栈溢出 我假设,
$橡皮擦
是$article2
中的一个元素。如果不是,那么这个答案可能毫无价值
在第一个示例中,在JQM增强布局之前设置属性
在第二个示例中,您将在布局增强后进行设置。这意味着您正在更改值
属性,但更改的是基础表单元素。您需要告诉JQM重新渲染显示的元素
如果$eraser
是一个文本框,请尝试以下操作:
sendtext5 = "Homer Simpson";
$.mobile.pageContainer.pagecontainer( "change", $article2 ); // This line executes
$eraser.prop('value', sendtext5); // This line does execute, just on the underlying element
$eraser.textinput( "refresh" ); // This line refreshes the displayed element with the underlying elements's properties
添加console.log($article2)
和console.log($橡皮擦)
告诉我们它到底打印了什么。