¿Cómo puedo evitar que Firefox desde la apertura de la cabecera gridview enlace tipo de devolución de datos en una nueva pestaña en Ctrl + clic

StackOverflow https://stackoverflow.com/questions/2046339

Pregunta

Estoy tratando de hacer mi control gridview en ASP.Net hacer una especie de múltiples sobre la base de si el usuario pulsa la tecla Ctrl cuando se trata de ordenar haciendo clic en un nombre de columna. El problema es que cuando estoy usando Firefox, si hago clic en un nombre de columna con tecla Ctrl presionada, el navegador intenta abrir. "Javascript: __ doPostBack ( 'ctl00 $ ContentPla ..." enlace en una nueva pestaña IE y Chrome tanto no haga esto a menos que el enlace es un enlace real.

¿Hay alguna manera de evitar que Firefox se abra el enlace en una pestaña nueva y todavía hacer que la página a la devolución de datos normalmente?

Gracias.

¿Fue útil?

Solución

Es necesario para capturar el evento de la tecla Ctrl siendo empujado hacia abajo, usando document.onKeyDown.

En el controlador de eventos, compruebe si se ha pulsado la tecla 'Ctrl' (código de clave 17), de la siguiente manera:

function document_keyDown(e) {
    var KeyID = (window.event) ? event.keyCode : e.keyCode;
        if (KeyID == 17) { 
            ctrlDown = true;
        }
}

A continuación, Soy la creación de una variable de 'ctrlDown' true.

En el caso onKeyUp, puede hacer exactamente lo contrario:

function document_keyUp(e) {
    var KeyID = (window.event) ? event.keyCode : e.keyCode;
    if (KeyID == 17) { 
       ctrlDown = false;
    }
}

A continuación, en el evento de clic de sus elementos de columna, se puede comprobar si se ha hecho click Ctrl o no:

function columnElement_click() {
    if (ctrlDown != undefined && ctrlDown == true)
        alert("Ctrl + Click Received");
    return false;
}

Asegúrese de que su columna clic manejador devuelve false . De lo contrario, el navegador se ejecute el código, pero luego navegar hacia la dirección en el atributo 'href' del enlace.

Espero que esto ayude.

(Véase también: http: //www.geekpedia .com / tutorial138_Get-key-prensa-evento-usando-JavaScript.html )

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top