Если функция, которую Вы реализовали, является определенной для класса и не должна использоваться за пределами контекста того класса, то не позволяйте ему быть наследованным. Например, если у нас была иерархия животных, и у одного из животных было что-то невероятно уникальное для них только, скажите "layEggsInSand ()" как черепаха. Это может быть совершенно уникально для черепахи (черепаха, безотносительно!) поэтому не должен быть наследован никаким другим животным. В этом контексте мы сказали бы, что это является частным. С другой стороны, если функция является "обходом ()", тогда это не уникально, поэтому это должно быть наследуемым.
Это кажется довольно нечетким сначала, потому что большую часть времени вещи должны быть наследованы, но существуют более редкие случаи, когда они не должны быть наследованы, поскольку они уникальны для того типа.
К счастью, на днях я наткнулся на это:
http://flowplayer.org/tools/demos/toolbox/expose/index.html
Похоже, это может быть тот эффект, который вам нужен.
Если вы хотите взаимодействовать с остальной частью страницы заблокирован, проверьте плагин blockUI .