2015-09-29 2 views
2

Я нашел несколько вопросов, заданных по этой проблеме, но без решения. У меня есть один contenteditable DIV, в котором я хочу OnChange событие уволят на орфографические correction.I предоставили образец кода, который я пытался ниже:Увольнение OnChange событие по коррекции правописания в IE

JQuery

<script type="text/javascript"> 
    $(document.body).on("contextmenu click", function(){alert('Hi');}); 
</script> 

HTLM

<body contenteditable="true" id="editor"> 
    < p>Please type something in here</p> 
< /body> 

Я хочу, чтобы он работал с IE11. А также хочу пояснить, что я не хочу, чтобы событие срабатывало по правому щелчку (для отображения контекстного меню). Я хочу, чтобы событие получало сообщение об увольнении, мы нажимаем на элемент контекстного меню, чтобы выбрать правильное слово.

+0

использовать somehitng как этот '$ (document.body) .on ("click", "editor", function() {alert (' Hi ');});' –

ответ

0

Попробуйте это:

$("#editor").mousedown(function(e) { 
    // the "which" property of the event object tells which mouse button was clicked. 3 is the right click button. 
    if(e.which == 3){ 
     console.log("right clicked"); 
    } 
}); 
+0

Объяснение вашего решения было бы полезно. – showdev

1

После некоторого тестирования Обновленного ответа:

$(document).ready(function(){ 
    document.oncontextmenu = function() {return false;}; 

    $("#editor").mousedown(function(e){ 
    if(e.button == 2) //it will let you know is it right click or not **1** will be for left click 
    { 
     alert('Mouse Right button pressed!'); 
     return false; 
    } 
    return true; 
    }); 
}); 

Обновлен события стрельбы из контекстного меню скрывающего

var isIntextMenuOpen ; 
$(document).on("contextmenu", function(e){ 

    isIntextMenuOpen = true; 
}); 
function hideContextmenu(e){ 
     if(isIntextMenuOpen){ 
      alert("okay") 
     } 

    isIntextMenuOpen = false; 
} 
$(window).blur(hideContextmenu); 

$(document).click(hideContextmenu); 

Я создал JSFIDDLE

+0

Событие mousedown будет запущено, когда мы перейдем к пункту. Но это не решит мою проблему, так как мне нужно щелкнуть правой кнопкой мыши (после чего откроется контекстное меню) и щелкнуть по правильному слову из контекстного меню (обычный поток коррекции орфографии). После того, как содержимое контент-контента изменится без включения события обмена в IE11. В чем моя главная проблема. – Abhishek

+0

Это стреляющее событие при щелчке правой кнопкой мыши, но то, что я хочу, - это событие, чтобы зафиксировать пост. Коррекция правописания. Это означает, что я хочу получить сообщение о событии, которое мы щелкнем правой кнопкой мыши и выберите правильное слово из контекстного меню для исправления орфографии. Ценю вашу помощь. – Abhishek

+0

Я обновил вашу скрипку, чтобы проверить ее для моего требования. http://jsfiddle.net/AbhiAshD/LfetN/26/ Здесь вы можете нажать на текст, затем слова mouseDown и mouseUp будут подчеркнуты (слова с ошибками). Теперь щелкните правой кнопкой мыши по нему и исправьте слова. После того, как слова будут исправлены, вам нужно будет щелкнуть еще раз, чтобы запустить событие (чтобы получить предупреждение в вашем случае). Проблема заключается в том, когда контекстное меню открыто, окно все равно будет иметь фокус (он не будет размытым). Мое требование - получить предупреждение сразу после исправления слов. – Abhishek