以下是创建调用弹出窗口的按钮的代码:
funcs = {
funcA: (1, 2, 3),
funcB: ({'a' : 1}, [1, 2, 3]),
funcC: None
}
for func, args in funcs.items():
if args is None:
func()
else:
func(*args)
这是使用jQuery Mobile创建弹出窗口的代码:
<a href="#positionWindow" data-rel="popup" data-position-to="window" data-transition="flow">popup button</a>
如何创建多个按钮,这些按钮全部调用用于创建弹出窗口的相同代码,然后根据按下的按钮替换弹出窗口内的文本?
答案 0 :(得分:0)
我觉得只使用一个弹出窗口并动态设置内容。您应该从代码中打开弹出窗口,而不是在标记中使用href
。
$(document).on("vclick", "a[data-popup]", function(e) {
var cases = [
"You pressed Button 1",
"You pressed Button 2"
],
id = $(this).data("popup");
$("#msg-block").text(cases[id - 1]);
$("#myPopup").popup("option", "transition", "flow").popup("open");
});
&#13;
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
<link rel="stylesheet" href="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.css">
<script src="https://code.jquery.com/jquery-1.11.2.min.js"></script>
<script src="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.js"></script>
</head>
<body>
<div data-role="page">
<div data-role="header" data-position="fixed">
<h2>Header</h2></div>
<div role="main" class="ui-content">
<a class="ui-btn" data-popup="1" href="#">Popup Button 1</a>
<a class="ui-btn" data-popup="2" href="#">Popup Button 2</a>
</div>
<div data-role="popup" id="myPopup" class="ui-content popup" data-theme="b" data-overlay-theme="a">
<a href="#" data-rel="back" data-role="button" data-theme="b" data-overlay-theme="a" data-icon="delete" data-iconpos="notext" class="ui-btn-right">Close</a>
<p id="msg-block"> Replace the text here depending on which button is pressed </p>
</div>
</div>
</body>
</html>
&#13;
说明:要将按钮绑定到短信,我在我的示例中使用自定义data-attribute
但是 - 如果您愿意 - 您只能使用按钮的id
。由你决定。