Dynamic flexible job shop scheduling is of significant importance to the implementation of real-world manufacturing systems. In order to capture the dynamic and multi-objective nature of flexible job shop scheduling, and provide different trade-offs among objectives, this paper develops a multi-objective evolutionary algorithm (MOEA)-based proactive reactive method. The novelty of our method is that it is able to handle multiple objectives including efficiency and stability simultaneously, adapt to the new environment quickly by incorporating heuristic dynamic optimization strategies, and deal with two scheduling policies of machine assignment and operation sequencing together. Besides, a new mathematical model for the multi-objective dynamic flexible job shop scheduling problem (MODFJSSP) is constructed. With the aim of selecting one solution that fits into the decision maker's preferences from the trade-off solution set found by MOEA, a dynamic decision making procedure is designed. Experimental results in a simulated dynamic flexible job shop show that our method can achieve much better performances than combinations of existing scheduling rules. Three MOEA-based rescheduling methods are compared. The modified epsilon-MOEA has the best overall performance in dynamic environments, and its computational time is much less than two others (i.e., NSGA-II and SPEA2). Utilities of introducing the stability objective, heuristic initialization strategies and the decision making approach are also validated.