Jag har en tabell där raderna ska vara klickbara, dvs de ska byta bakgrundsfärg när man klickar på dem. Det var inget problem. Sen försökte jag lägga till funktionalitet så att flera rader ska markeras om man håller ner shift. Det var heller inga problem, men då får jag följdeffekten att allt innehåll på de markerade raderna blir blåmarkerat. Hur avbrytar man defaultbeteende för shift+klick? Jag har försök med 'myEvent.returnValue = false' och 'myEvent.cancelBubble = true' för att avbryta eventet när jag är klar men har inte fått det att fungera. Det ända som har funkat hittills är att lägga ut en alert(''). Den tar död på eventet men är ju inte så snygg ;-) Avbryter inte klick-event men tar bort selection(blåmarkering):Avbryta klick-event
mvh Mathias
Här kommer ett enkelt exempel på vad jag vill göra:
<html>
<head>
<script type="text/javascript" language="javascript">
function TestWithAlert(e){
if (e.shiftKey){
alert('hej');
}
}
function TestWithoutAlert(e){
if (e.shiftKey){
e.returnValue = false;
e.cancelBubble = true;
return false;
}
}
</script>
</head>
<body>
<table border="1">
<tr id="row1" onmousedown="javascript: TestWithAlert(event);">
<td >rad: 1 cell: 1</td>
<td>rad: 1 cell: 2</td>
<td>rad: 1 cell: 3</td>
</tr>
<tr id="row2" onmousedown="javascript: TestWithAlert(event);">
<td>rad: 2 cell: 1</td>
<td>rad: 2 cell: 2</td>
<td>rad: 2 cell: 3</td>
</tr>
<tr id="row3" onmousedown="javascript:return TestWithoutAlert(event);">
<td>rad: 3 cell: 1</td>
<td>rad: 3 cell: 2</td>
<td>rad: 3 cell: 3</td>
</tr>
<tr id="row4" onmousedown="javascript:return TestWithoutAlert(event);">
<td>rad: 4 cell: 1</td>
<td>rad: 4 cell: 2</td>
<td>rad: 4 cell: 3</td>
</tr>
</table>
</body>
</html>Sv: Avbryta klick-event
Prova: document.selection.empty(); i stället för 'alert'.
MVH
Peter