我在点击一个按钮时使用 window.open()
生成一个弹出窗口。
$.get(url).success(function(req) {
var win=window.open('popup.html', '', 'width=700, height=500, top=0, left(screen.width-700)');
win.document.write(req);
我在弹出窗口中有一个可编辑字段,但它不起作用。我正在尝试这样的事情,
$.fn.editable.defaults.mode = 'popup';
for (var i=0; i<14; i++)
{
fieldname = "#sentiment_editable" + i
$(fieldname).editable({
inputclass: 'input-large',
source:[
{value:'positive', text: 'positive'},
{value:'neutral', text: 'neutral'},
{value:'negative', text: 'negative'}
]
});
}
win.document.close();
});
字段名称(标签 id)来自 ajax 响应(req)。 在 popup.html 中,我包含了以下库:
<script type="text/javascript" src="/js/jqueryui-editable.js"></script>
<link rel="stylesheet" type="text/css" href="/css/jqueryui-editable.css" />
请求内容是这样的,
<script type="text/javascript" src="/js/jqueryui-editable.js"></script>
<link rel="stylesheet" type="text/css" href="/css/jqueryui-editable.css" />
<div id="chatterpage" class="contentArea">
<div id="allsocial" >
<div id="all_container">
<div id="eachchatter1" class="socialcontentdiv" onmouseover="document.getElementById('chatterbuttons1').style.display='block'" onmouseout="document.getElementById('chatterbuttons1').style.display='none'">
<table border=0 width=100%>
<tr>
<td width=60%>
<span class="socialcontent1bold">Mood: </span>
<span class="socialcontent1">
<a data-original-title="Select sentiment" data-pk="1" data-url="/Handler" data-params='{chatterid: "5625665ba40e3cbef58de56a758d373d"}' data-type="select" data-value="neutral" id="sentiment_editable1" style="cursor:pointer" >neutral</a>
</span></td></tr>
<tr>
<td width=60%>
<span class="socialcontent1bold">Mood: </span>
<span class="socialcontent1">
<a data-original-title="Select sentiment" data-pk="1" data-url="/Handler" data-params='{chatterid: "fff3878b2d0e6849e9ee8408e7999892"}' data-type="select" data-value="neutral" id="sentiment_editable2" style="cursor:pointer" >neutral</a>
</span></td></tr>
</table>
</div><br/>
</div>
</div>
</div>
请帮帮我。
最佳答案
我之前的回答不正确,所以我会再试一次,在 popup.html 中添加对 jquery 库的引用,并添加您尝试执行的脚本。
<link rel="stylesheet" type="text/css" href="/css/jqueryui-editable.css" />
<script type="text/javascript" src="/js/jquery.min.js"></script>
<script type="text/javascript" src="/js/jqueryui-editable.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$.fn.editable.defaults.mode = 'popup';
for (var i=0; i<14; i++)
{
fieldname = "#sentiment_editable" + i
$(fieldname).editable({
inputclass: 'input-large',
source:[
{value:'positive', text: 'positive'},
{value:'neutral', text: 'neutral'},
{value:'negative', text: 'negative'}
]
});
}
});
</script>
<div id="chatterpage" class="contentArea">
<div id="allsocial" >
<div id="all_container">
<div id="eachchatter1" class="socialcontentdiv" onmouseover="document.getElementById('chatterbuttons1').style.display='block'" onmouseout="document.getElementById('chatterbuttons1').style.display='none'">
<table border=0 width=100%>
<tr>
<td width=60%>
<span class="socialcontent1bold">Mood: </span>
<span class="socialcontent1">
<a data-original-title="Select sentiment" data-pk="1" data-url="/Handler" data-params='{chatterid: "5625665ba40e3cbef58de56a758d373d"}' data-type="select" data-value="neutral" id="sentiment_editable1" style="cursor:pointer" >neutral</a>
</span></td></tr>
<tr>
<td width=60%>
<span class="socialcontent1bold">Mood: </span>
<span class="socialcontent1">
<a data-original-title="Select sentiment" data-pk="1" data-url="/Handler" data-params='{chatterid: "fff3878b2d0e6849e9ee8408e7999892"}' data-type="select" data-value="neutral" id="sentiment_editable2" style="cursor:pointer" >neutral</a>
</span></td></tr>
</table>
</div><br/>
</div>
</div>
</div>
弹出窗口中的 html 需要能够在其自己的上下文中运行,就好像它在不知道它是使用 window.open 创建的情况下被隔离的一样。因此,请确保首先确保 popup.html 正常工作,然后尝试使用 window.open 打开它。
关于javascript - Jquery ui 可编辑不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21822196/