В устаревшем приложении, основанном на Seam 2.2, jsf 1.2 и Richfaces 3.3, у меня возникла проблема с Internet Explorer:
У меня есть таблица данных со щелкающими строками.Нажатие на строку откроет подробный вид элемента.Последний столбец содержит значок корзины.При нажатии на значок появляется диалоговое окно подтверждения.Когда это не подтверждено, больше ничего не должно происходить.Это отлично работает в Google Chrome.
Не работает с Internet Explorer (тестирование в Версии 11).Здесь выполняется действие по умолчанию action="#{myAction.select(k)}"
.Я попытался добавить event.preventDefault();
к event.stopPropagation();
, но это не помогло.
Как мне заставить это работать в Internet Explorer?
<rich:dataTable id="myDatatable" value="#{list.model}" var="k"
headerClass="tableheader"
onRowMouseOver="this.style.backgroundColor='#F1F1F1'"
onRowMouseOut="this.style.backgroundColor='#{a4jSkin.tableBackgroundColor}'"
rowClasses="clickableRow">
<a4j:support event="onRowClick" id="onRowClickEvent"
action="#{myAction.select(k)}"
reRender="myDatatable"/>
<rich:column>
<f:facet name="header">
<a4j:commandLink action="#{list.changeOrder('k.name')}"
value="Name #{list.orderColumn == 'k.name' ? (list.orderAscending ? '▲' : '▼') : ''}"
reRender="myDatatable" ajaxSingle="true" limitToList="true"/>
</f:facet>
<h:outputText value="#{k.name}"/>
</rich:column>
<rich:column style="text-align: center;">
<f:facet name="header">
<a4j:outputPanel layout="block">
<h:outputText value="Delete"/>
</a4j:outputPanel>
</f:facet>
<a4j:outputPanel onclick="event.preventDefault();event.stopPropagation();">
<s:graphicImage value="/img/bin_closed.gif" style="cursor: pointer;">
<a4j:support event="onclick"
action="#{myAction.delete(k)}"
ajaxSingle="true" limitToList="true"
onsubmit="if(!confirm('Are you sure?')) { return false; }" />
</s:graphicImage>
</a4j:outputPanel>
</rich:column>
</rich:dataTable>