我关注 <sj:datepicker>
:
<sj:datepicker
id="dateFrom_id%{index}"
name="billingItems[%{index}].dateFrom"
value="%{billingItems[#index].dateFrom}"
displayFormat="dd.mm.yy"
cssClass="customDatePicker"
buttonImage="/images/icons/calendar-blue.png"
parentTheme="css_custom"
firstDay="1"
onBeforeTopics="beforeShow"
/>
和以下beforeShow
主题:
$.subscribe('beforeShow', function(event, data) {
if($(event.originalEvent.input).attr('readonly')){
// ned to stop event
}
});
如何阻止事件传播。我试过:
event.stopPropagation();
event.preventDefault();
event.stopImmediatePropagation();
但似乎没有任何效果。
最佳答案
不要使用 event.stopImmediatePropagation();
而只使用 stopImmediatePropagation();
试试这个
$.subscribe('beforeShow', function(event, data) {
if($(event.originalEvent.input).attr('readonly')=="readonly"){
stopImmediatePropagation();
alert('hi');
}
});
警告行不会执行。
另外不要忘记在你的 < sj:datepicker .../> 中使用 readonly="true"。例如
<sj:datepicker
id="dateFrom_id"
name="dateFrom"
value="%{'today'}"
displayFormat="dd.mm.yy"
buttonImage="images/icon/Calendar-Blue.png"
cssClass="customDatePicker"
firstDay="1"
onBeforeTopics="beforeShow"
readonly="true"
/>
关于struts2 - 停止 sj :datepicker from opening Struts2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16770186/